레쭈고 혼공스

혼공스 1주 차 ^^

정땅미 2024. 7. 6. 21:58

데이터베이스 = 데이터의 집합!

데이터베이스를 관리하고 운영하는 소프트웨어: DBMS

 

MySQL과 같은 DBMS의 개념은 1973년에 에드거 프랭크 커드라는 학자가 이론을 정립~!

DBMS의 분류: 계층형, 망형, 관계형, 객체지향형, 객체관계형

현재에는 관계형 DBMS가 가장 많은 부분을 차지한다! MySQL도 관계형 DBMS이다.

계층형 DBMS

처음으로 등장한 DBMS의 개념으로 트리 형태를 갖는다.

처음 구성을 완료한 후에 이를 변경하기가 상당히 까다롭다는 단점과

다른 구성원을 찾아가는 것이 비효율적이라는 단점이 존재한다.

망형 DBMS

계층형 DBMS의 문제점을 개선하기 위해 등장했다.

망형 DBMS를 잘 활용하려면 프로그래머가 모든 구조를 이해해야만 프로그램 작성이 가능하다는 단점이 존재한다.

관계형 DBMS

관계형 DBMS는 줄여서 RDBMS라고 부른다.

대부분의 DBMS가 이러한 형태로 사용된다.

RDBMS의 데이터베이스는 테이블이라는 최소 단위로 구성되며 이 테이블은 하나 이상의 으로 이루어져 있다.

DBMS에서 사용되는 언어: SQL

'에스큐엘' 또는 '시퀄'로 읽는다.

SQL은 특정 회사에서 만드는 것이 아닌 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있다. = 표준 SQL

SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에

표준 SQL이 각 회사 제품의 특성을 모두 포용하지 못한다는 단점이 있다.

그래서~! DBMS를 만드는 회사에서 되도록 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용한다.

 

허허,, 이 다음으로는 설치를 진행했는데요 :-D

무엇인가 자꾸만 진행되지가 않아서,,, 두 시간 만에 설치를 완료했답니다.. ~_~

이럴 땐 정말 인내심이 중요하다고 느껴유

데이터베이스 모델링

테이블의 구조를 미리 설계하는 개념으로 건축 설계도를 그리는 과정과 비슷하다.

프로젝트를 진행하기 위해서는 대표적으로 폭포수 모델을 사용하며

데이터베이스 모델링은 폭포수 모델의 업무 분석과 시스템 설계 단계에 해당한다.

이 단계를 거치면 가장 중요한 데이터베이스 개체인 테이블 구조가 결정되는 것이다.

프로젝트 진행 단계

프로젝트현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정이다.

더 쉽게 '대규모 소프트웨어를 작성하기 위한 전체 과정'이라고 이야기할 수 있다.

소프트웨어 개발 단계(폭포수 모델로 표현): 

프로젝트 계획 - 업무 분석 - 시스템 설계 - 프로그램 구현 - 테스트- 유지보수

폭포수 모델은 각 단계가 구분되어 프로젝트의 진행 단계가 명확하다는 장점이 있다.

하지만 문제가 발생할 경우 다시 앞 단계로 돌아가기가 어렵다는 단점이 있다.

데이터베이스 모델링

데이터베이스 모델링이란 우리가 살고 있는 세상에서 사용되는 사물이나 작업을

DBMS의 데이터베이스 개체로 옮기기 위한 과정이다.

데이터베이스 모델링에는 정답이 없다!

 

용어 용어 설명
데이터 하나하나의 단편적인 정보
테이블 데이터를 입력하기 위해 표 형태로 표현한 것
데이터베이스 테이블이 저장되는 저장소
DBMS 데이터베이스 관리 시스템 또는 소프트웨어
테이블의 세로
열 이름 각 열을 구분하기 위한 이름
데이터 형식 열에 저장될 데이터의 형식
실질적인 진짜 데이터(행 데이터)
기본 키 각 행을 구분하는 유일한 열(중복, 비어 있음 X, 1개만 지정)
SQL 사람과 DBMS가 소통하기 위한 언어(구조화된 질의 언어)

 

테이블을 설계한다는 것은 열 이름데이터 형식을 지정하는 것입니다. 

 

shop_db의 회원 테이블(member)에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기

데이터베이스 개체

데이터베이스에서는 인덱스, 뷰, 스토어드 프로시저, 트리거, 함수, 커서 등의 개체도 필요합니다.

인덱스는 데이터를 조회할 때 결과가 나오는 속도를 빠르게 해 주고,

는 테이블의 일부를 제한적으로 표현할 때 주로 사용한다.

스토어드 프로시저는 SQL에서 프로그래밍이 가능하도록 해주고,

트리거는 잘못된 데이터가 들어가는 것을 미연에 방지하는 기능을 한다.

인덱스

데이터를 조회할 때 테이블에 데이터가 적다면 결과가 금방 나오지만 데이터가 많아질수록 

결과가 나오는 시간이 많이 소요된다. 인덱스는 이런 경우 결과가 나오는 시간을 대폭 줄여준다.

인덱스란 책의 제일 뒤에 수록되는 '찾아보기'와 비슷한 개념이다.

뷰는 테이블과 상당히 동일한 성격의 데이터베이스 개체이다.

뷰를 활용하면 보안도 강화하고, SQL 문도 간단하게 사용할 수 있다.

뷰를 한마디로 정의하면 '가상의 테이블'이라고 할 수 있다.

뷰는 실제 데이터를 가지고 있지 않으며, 진짜 테이블에 링크된 개념이라고 생각하면 된다.

뷰의 실체는 바로 SELECT 문이다. 

스토어드 프로시저

스토어드 프로시저를 통해 SQL 안에서도 일반 프로그래밍 언어처럼 코딩을 할 수 있다.

프로그래밍 로직을 작성할 수 있어서 유용하게 사용된다.

 

오늘의 혼공스 1주 차 미션을 무사히 성공했습니닷 (~ ̄▽ ̄)~

시험 기간이라 시험공부도 못 해서,,, 할 시간이 없어서...... 못할 줄 알았는데

자발적으로 지원한 공부이기에 열심히 했습니닷~!

 

아! 궁금한 게 있는데, MySQL 프로그램과 깃허브를 연동하는 법이 궁금해유 ヾ(•ω•`)o

'레쭈고 혼공스' 카테고리의 다른 글

혼공스 6주 차 (˘・_・˘)  (0) 2024.08.17
혼공스 5주 차 (o゚v゚)ノ  (7) 2024.08.03
혼공스 4주 차 UwU  (7) 2024.07.24
혼공스 3주 차 (* ̄3 ̄)╭  (0) 2024.07.19
혼공스 2주 차 (* ̄3 ̄)╭  (0) 2024.07.14