728x90
[ 데이터 베이스 ]
- 데이터 베이스
- 용어
- 레코드 (Record): 테이블에서 하나의 행(row)을 나타냅니다. 레코드는 테이블에 저장된 개별 데이터 항목입니다. 각 레코드는 여러 개의 필드(열)로 구성되어 있습니다.
- 행 (Row): 테이블에서 하나의 레코드를 나타냅니다. 행은 테이블에 저장된 데이터의 개별 인스턴스를 나타내며, 각 행은 여러 열(속성)의 값을 가집니다.
- 속성 (Attribute): 테이블의 각 열(column)을 의미합니다. 속성은 테이블에 저장된 데이터의 특정 유형의 정보를 나타내며, 각 속성은 해당 속성에 대한 값들을 포함합니다.
- 필드 (Field): 레코드 내에서 속성의 한 인스턴스를 나타냅니다. 행(레코드)을 구성하는 각 열의 값은 필드라고도 불립니다.
- 열 (Column): 테이블 내의 수직 방향의 데이터를 나타냅니다. 각 열은 테이블에 저장된 특정 종류의 정보(속성)를 나타내며, 여러 레코드에서 동일한 형식의 데이터를 포함합니다.
- 어트리뷰트 (Attribute): 속성(Attribute)과 같은 의미로 사용되며, 테이블 내의 열을 나타내는 용어로 사용될 수 있습니다.
"튜플"과 "레코드"는 데이터베이스에서 사용되는 용어로, 기본적으로는 동일한 개념을 가리키지만, 사용되는 맥락에 따라 약간의 차이가 있을 수 있습니다.
- 튜플(Tuple): 튜플은 데이터베이스 이론에서 관계형 모델에 따라 사용되는 개념으로, 테이블에서 하나의 레코드(행)를 나타냅니다. 튜플은 각 속성(열)에 대한 값들의 집합으로 이루어져 있습니다. 관계형 데이터베이스에서 튜플은 테이블의 각 행을 표현하며, 튜플은 속성 값들의 순서 있는 모임을 의미합니다.
- 레코드(Record): 레코드는 데이터 저장 및 처리 시스템에서 주로 사용되는 용어로, 특정 데이터베이스 테이블에서 하나의 행을 가리킵니다. 관계형 데이터베이스에서 레코드 역시 각 테이블의 행을 나타냅니다. 따라서 레코드와 튜플은 기본적으로 같은 개념을 나타내며, 테이블 내의 단일한 데이터 항목을 의미합니다.
주로 관계형 데이터베이스에서는 튜플이라는 용어를 레코드 대신 사용하는 경우가 많습니다. 그러나 이 용어들은 데이터베이스 개념을 설명하는 데 있어서 기본적으로 같은 개념을 나타내며, 테이블의 각 행을 의미하는 데 사용됩니다. 따라서 대부분의 경우, 튜플과 레코드는 동일한 의미로 사용되며, 특정 문맥에서의 용어 선택이나 사용 방식에 따라 약간의 차이가 있을 수 있습니다.
- 무결성
- 무결성 뜻 : 없을 무 , 흠집 결, 성질 성, 즉 흠집이 없는 성질 이라는 뜻이다.
- 데이터에서 흠집이 없다 -> 해당 데이터는 해당 컬럼명에 맞는 올바른 데이터가 들어가 있다는것을 보장한다는 뜻이다.
- Ex) 학생들의 나이 컬럼 age의 경우 숫자값 양수만 들어갈수있게 보장해주는것을 무결성이라고 한다.
- 무결성 제약 조건
무결성 제약 조건 | 설명 | 예시 (student 테이블) |
개체 무결성 (Entity Integrity) | 각 행의 기본 키(primary key) 값은 NULL이 아니어야 하고, 중복되지 않아야 합니다. 각 행을 고유하게 식별합니다. | student_id 열은 기본 키(primary key)로 설정되며, NULL이 아니고, 각 학생을 고유하게 식별합니다. |
참조 무결성 (Referential Integrity) | 외래 키(foreign key) 값은 참조하는 테이블의 기본 키(primary key) 값이거나 NULL이어야 합니다. 참조 무결성은 데이터의 일관성을 유지하고 다른 테이블과의 관계를 설정합니다. | class_id 열은 외래 키(foreign key)로 설정되며, 해당 테이블의 기본 키(primary key)를 참조합니다. |
도메인 무결성 (Domain Integrity) | 각 열은 정의된 도메인에 속하는 값이어야 합니다. 열이 허용하는 값의 범위와 형식을 유지합니다. | age 열은 학생의 나이를 나타내며, 양수이고 특정 범위 내의 값이어야 합니다. |
NULL 무결성 | 특정 열이 NULL 값을 허용하지 않아야 합니다. 해당 열에는 반드시 값이 존재해야 합니다. | name 열은 학생의 이름을 나타내며, NULL 값이 허용되지 않습니다. |
고유 무결성 (Unique Integrity) | 고유 키(unique key) 값은 해당 열에서 중복되지 않아야 하지만, 기본 키(primary key)는 아니어도 됩니다. 고유한 값의 중복을 방지합니다. | 학번(student_id)은 기본 키(primary key)이기도 하면서 고유한 학생을 식별하는 값으로 중복되지 않아야 합니다. |
키 무결성 (Key Integrity) | 기본 키(primary key)나 외래 키(foreign key) 값은 반드시 유효한 값을 가지거나 NULL이어야 합니다. 키 무결성은 테이블 간의 관계를 설정하고, 데이터의 무결성을 유지합니다. | class_id 열은 외래 키(foreign key)로 다른 테이블의 기본 키(primary key) 값을 참조하거나 NULL 값을 가질 수 있습니다. |
- 데이터 모델링
- 데이터 모델링의 정의 : 현실 세계에 존재하는 데이터를 데이터베이스화 하는 과정
- 데이터 모델과 구성요소
- 데이터 모델 : 현실 세계의 데이터를 단순화,추상화하여 표현한 모델
- 데이터 모델의 구성요소
- 개체 ( Entity ) : 데이터로 표현하고자 하는 현실 세계의 개념이나 정보의 단위 ( ex , 킥보드, 회원 ) 명사, 인스턴스
- 속성 ( Attribute ) : 개체에 대한 정보 ( ex ) 킥보드의 브랜드 /이용가격, 회원의 아이디/이름 )
- 관계 ( relationship) : 개체간의 연관성 ( ex) 고객은 킥보드를 대여한다. ) 동사
- 데이터 모델링을 진행하는 과정
- 개념적 설계 (Conceptual Design): 개념적 설계는 데이터베이스 설계 과정에서 가장 추상적인 단계로, 데이터베이스의 전체적인 구조와 데이터간의 관계를 정의하는 단계입니다. 개체-관계(ER) 다이어그램과 같은 도구를 사용하여 데이터베이스의 요구사항을 수집하고, 이를 바탕으로 데이터 모델을 만듭니다.
- 논리적 설계 (Logical Design): 논리적 설계는 개념적 설계의 결과물을 바탕으로 데이터베이스를 관계형 데이터베이스 형식에 맞게 변환하는 단계입니다. 개념적 모델을 관계형 모델로 변환하고, 테이블 간의 관계를 정의하며, 엔터티를 테이블로 매핑합니다.
- 물리적 설계 (Physical Design): 물리적 설계는 논리적 설계의 결과를 바탕으로 실제 데이터베이스 관리 시스템(DBMS)에 맞추어 데이터베이스를 구현하는 단계입니다. 데이터 저장, 인덱싱, 보안 등과 같은 세부사항을 고려하여 테이블을 생성하고, 인덱스를 설정하며, 데이터베이스 성능을 향상시키기 위한 물리적 구조를 설계합니다.
- 이제 'student' 테이블을 사용하여 각 설계 단계에 따른 예시를 표로 나타내겠습니다:
-
설계 단계 설명 예시 (student 테이블) 개념적 설계 데이터베이스의 전체적인 구조와 데이터 간의 관계를 추상적으로 정의합니다. 학생(student) 엔터티와 해당 엔터티의 속성들을 식별합니다. 논리적 설계 개념적 설계의 결과를 바탕으로 관계형 데이터베이스 형식에 맞추어 테이블로 변환하고, 관계를 정의합니다. 학생 정보를 담은 테이블을 생성하고, 학생의 학번, 이름, 나이 등을 열로 매핑합니다. 물리적 설계 논리적 설계의 결과를 DBMS에 맞추어 구현하고, 성능을 향상시키기 위한 물리적 구조를 설계합니다. 테이블에 대한 적절한 데이터 형식과 제약 조건을 설정하여 데이터베이스를 생성합니다. - 이렇게 각 설계 단계는 추상화 수준이 점차적으로 낮아지며, 더 구체적이고 구현 가능한 데이터베이스 모델을 만들어내는 과정을 나타냅니다.
- ER 다이어 그램 ( Peter chen 방식으로 작성한 버전 )
- ER 다이어그램
- 정의 : ERD , Entity-Relationship Diagram ( 개체-간계 다이어그램 )
- 현실 세계의 데이터를 개체와 관계 형태의 다이어그램으로 나타내는 것
- 표기법 : PeterChen, IE 방식 두가지가있다.
- ERD 그리기
[ 01 SQL 시작하기 ]
- 목차
- 01 SQL이란 ?
- 02 테이블에서 데이터 검색하기
- 03 조건을 추가하여 검색하기
- 04 여러 개의 조건을 추가하기
- 01 SQL 이란 ?
- 데이터 베이스란 무엇일까?
- 여러 사람이 공유해 사용하는 사용할 목적으로 통합하여 관리되는 데이터의 모음
- Maria DB , Amazon Redshift / Oracle DB 등 많은 종류가 존재
- 우리가 배워야하는 내용
- 데이터 베이스의 종류에 따라 사용 방법이 조금씩 다름
- 하지만 "검색"과 "분석"에 사용되는 기본 사용 방법은 데이터 베이스 종류와 상관없이 동일
- 데이터베이스를 제어하는 방법
- SQL : Structed Query Language 의 약자
- SQL : 데이터 베이스에 접근하고 조작하기 위한 표준 언어
- SQL이 할 수 있는 것
- 데이터 검색 / 데이터 삽입 /데이터 수정 / 데이터 삭제 / 데이터 베이스 생성 / 테이블 생성 / 이 외 많은것들 …
- 엑셀에서 데이터를 검색하는것과 비슷하게 데이터베이스에서 검색할수있다.
- 02 테이블에서 데이터 검색하기
- 데이터베이스의 종류
- 가장 많이 사용되는 종류
- 관계형 데이터베이스
- 비관계형 데이터 베이스
- 관계형 데이터 베이스의 정의
- 하나 이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있음
- 관계형 데이터베이스는 SQL 을 통해 제어 가능
- 관계형 데이터 베이스 구조
- 관계형 데이터 베이스의 의미
- (1) 값은 (2) 값의 id 를 의미
- (3) 값은 (4) 값의 id를 의미
- 테이블의 구성요소
사번 (Employee ID) | 이름 (Name) | 성별 (Gender) |
001 | 홍길동 | 남성 |
002 | 김철수 | 남성 |
003 | 김영희 | 여성 |
- (1) 의 사번 / 이름 / 성별 은 컬럼이다.
- (2) 는 레코드이다.
- (3) 도 레코드이다.
추천인 코드 : o6i4B3y95 : 앨리스트랙 참여 링크
#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #백엔드학원 #개발자국비지원 #개발자부트캠프 #국비지원부트캠프 #DOCKER #백엔드 #자바스프링 #스프링강의 #백엔드인강 #RESTAPI #스프링개발자
728x90
'Elice --Cloud--Track > 4~7 주차' 카테고리의 다른 글
4주차 블로그챌린지- 리눅스 기초 (1) (1) | 2023.12.17 |
---|---|
4주차 블로그 챌린지-js , DOM (1) | 2023.12.17 |
3주차 블로그 챌린지 - java - map (0) | 2023.12.10 |
3주차 블로그 챌린지 (0) | 2023.12.10 |
3주차 블로그 챌린지 (0) | 2023.12.10 |