Computer Science/Database :: 데이터베이스 19

데이터베이스 3강 :: 릴레이션, 키, ERD 변환, 관계 연산

데이터베이스 3강을 보며 배운내용 정리(TL;DR) 관계형 모델은 표다 그 표를 릴레이션이라고 하고 그 릴레이션과 함께 사용되는 용어들은 컬럼, 레코드, 키, 스키마 등이 있다 그리고 이 표를 원하는 데이터를 가지고 있게 연산할 수 있다 릴레이션 1개에 사용하는 셀렉트, 프로젝트 등 릴레이션 2개이상에 사용하는 조인, 카티시언 프로덕트 등이 있다 다음 강의 4강은 데이터베이스를 듣기 시작한 이유인 SQL! 기본만 잘 알아놓자! 관계형 모델은 언제 사용하더라? 데이터베이스 2강에서 봤던 그림 호출 논리적 데이터 모델링이란? DBMS 구현 모델에 맞춰 데이터 표현하는 과정 데이터 정의 언어로 적은 개념 스키마 생성 왜 논리적 데이터 모델링이 필요한가? 구현 모델에 맞춰 데이터 수정 ERD를 RDBMS가 수용..

데이터베이스 2강 :: 데이터베이스 모델링 왜? 개체집합, 관계집합

데이터베이스 2강을 보며 배운내용 데이터베이스 모델링 왜 필요할까? 데이터베이스 효율적으로 이용하기 위한 계획 데이터 의미 파악, 데이터 관여 업무를 정의하고 분석하려고 👀 관점 비즈니스적 관점 : 어떤 데이터 저장하나? 프로그래머 관점 : 어떻게 데이터를 저장할까? ✅ 모델링 단계 데이터 모델 의미, 데이터 타입, 연산 등 명시하기 위해 사용하는 개념 집합 데이터 모델링 실세계 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 것 사용자 요구사항 분석 사전 분석없이 설계가 불가능하다 데이터가 복잡해지고 수명주기가 짧아져서 신속, 정확이 필요 ✅ 요구사항 단계 도출 => 분석 => 기록 순서로 수행 ER 모델 실세계 속성들로 이루어진 개체(Entity)와 개체 사이의 관계(Relationship..

데이터베이스 1강 :: 데이터베이스 등장배경, DBMS, 시스템 아키텍처

데이터베이스 1강을 보며 배운내용 데이터베이스 강의 시청 시작 목표는 기본적인 SQL 배우기 AI 새삼 데이터베이스의 역사를 듣다보니 갑자기 AI가 등장한게 아니라는게 느껴진다 데이터를 받기 시작한 때부터 쌓이고, 신속하게 처리할 방법을 연구하고 데이터를 분석하다 보니 자연스레 등장하게 된 것 같다 다음은 뭘까? 데이터베이스 이전(🇧🇩 : Before Database) 데이터 중복 문제 데이터 중복이 많아지면, 일관성, 보안성, 경제성에서 문제 발생 무결성 훼손 문제 데이터가 가질 수 있는 가능 범위(제약조건)를 포함한다 동시 접근의 문제 동일 데이터에 다수 사용자가 접근하면 일관성 훼손된다 데이터베이스 등장(🇦🇩 : After Database) 위의 문제들을 막기 위해 데이터베이스가 나왔다 데이터 사용..

[데이터베이스] SQL - 관계형 데이터베이스 표준 언어

SQL 기초 SEQUEL(Structured English Query Language) 이었다 관계형 데이터베이스 표준 언어로 인증(1986년) 특징 데이터 정의(DDL), 조작(DML), 제어(DCL) 무엇(What)을 표시 어떻게(How)는 표시 안함 -> DBMS가 어떻게 처리 관계 대수식 대신 SQL 사용 관계 대수식 연산자 기호는 키보드로 표기하기 어렵기 때문 관계 대수식과 SQL 차이점 관계 대수식: 무엇을 어떻게 하는지 순서로 표현 가능 SQL: 무엇만 표현 관계 대수식: 튜플의 집합 -> 중복 허용 X SQL: 튜플들 순서 없지만 중복 허용 O DDL 문: 데이터 제어문 테이블 생성: CREATE문 CREATE TABLE 테이블명 테이블 삭제: DROP문 DROP TABLE 테이블명 테이블..

[데이터베이스] 데이터의 세계, 데이터 모델링

데이터의 세계 3중 세계관 실세계 -> 개념의 세계 -> 컴퓨터의 세계 개체 -> 개체 타입 -> 레코드 사실 -> 추상적 표현 ->(데이터 모델링)논리적 구조 개체(Entity)의 개념 유용한 정보를 저장 관리하기 위한 것 사람, 장소, 물건, 사건 개념 저장 물질일 필요 없다 지속적인 관심을 가지고 있어야 하는 대상 동질성을 지닌 개체 또는 행위의 집합 정의의 조건 우리가 관리하고자 하는 것인가 집합의 개념인지 개체들 간의 동질성이 있는지 다른 개체와 확연히 구분되는 독립성을 가졌는가 개체가 행위를 한 집합인지 개체의 성질 업무에 필요하고 관리하고자 하는 정보 식별자에 의해 식별이 가능한가 영속적으로 존재하는 개체 업무 프로세스에서 그 개체를 반드시 이용 속성을 포함해야 된다 하나 이상의 다른 개체와..

[데이터베이스] 무결성 제약조건: 개체, 참조, 도메인

무결성 제약조건 관계형 모델 구조: 릴레이션(2차원 테이블) 연산: 관계대수(relational Algebra) 제약조건: 무결성 제약조건(Integrity Constraint) 모든 관계형 데이터 모델에 적용되는 일반적이고 기본적인 제약 이 제약을 기초로 세부적이고 특수한 제약을 생성 가능 스키마에 정의된 무결성 제약조건을 위반하지 않아야된다 개체 무결성 참조 무결성 도메인 무결성 개체 무결성(Entity Integrity) 의미: 서로 다른 두 튜플은 같을 수 없다 정의: 기본키 값은 널(Null)을 가질 수 없다. 튜플을 개체(Entity)를 나타낸다 개체는 본질적으로 구분 가능 구별할 수 있는 식별자가 필요하다 기본키는 이들을 유일하게 구별할 수 있는 기능을 제공 기본키: 유일성, 최소성을 만족하..

[데이터베이스] 후보키, 수퍼키, 기본키, 대체키 그리고 외래키

릴레이션: 튜플의 집합 키(Key) 란? 몇 개의 속성만 이용하면 모든 튜플을 식별할 수 있다. 튜플을 유일하게 식별할 수 있는 속성 집합 키의 종류 후보키, 기본키, 대체키: 유일성, 최소성 만족하는 속성 집합 수퍼키: 유일성만 만족하는 속성 집합 후보키(Candidate Key) 튜플의 유일성을 유지시키는 최소 속성 집합 유일성: 서로 다른 두 튜플의 속성 집합 K의 값이 같지 않는다 최소성: K는 서로 다른 두 튜플을 식별하기위한 최소한 속성의 집합 수퍼키(Super Key) 일반적으로 후보키는 수퍼키의 부분 집합 기본키(Primary Key) 하나의 릴레이션에 후보키가 여러 개 있을 수 있다 여러 개의 후보키 중 DBA가 지정한 1개의 키 대체키(Alternative Key) 후보키에 기본키를 제..

[데이터베이스] 관계 연산자

일반 집합 연산자 합집합: 모든 튜플의 집합 교집합: 공통의 튜플들의 집합 차집합: R과 S가 있다고 하면 R - S R에는 존재하지만 S에는 존재하지 않는 집합 릴레이션(Relation): 테이블의 고급진(?) 이름 튜플(Tuple): 각 행을 의미 합집합과 교집합은 교환 법칙(Commutative Opertaion), 결합 법칙(Associtative Operation) 성립 차집합은 교환 법칙 X 교집합은 합집합과 차집합으로 표현 가능 R ∩ S = R ∪ S - ( R - S ) - ( S - R ) 순수 관계 연산자 셀렉트: 1항 연산자, 주어진 조건을 만족하는 튜플들만 걸러내는 연산 표기: σ(선택조건)(R) 교환 법칙 성립: 학과가 컴공이고 학년이 4학년을 뽑는거랑 학년이 4학년에서 학과가 ..

[데이터베이스] 관계형 데이터 간단 용어 #2주차

관계형 데이터 모델의 개념 릴레이션(Relation): 테이블의 고급진(?) 이름 도메인(Domain): 하나의 속성이 가질 수 있는 범위(예시: 초등학교 학년은 도메인 1~6) 튜플(Tuple): 각 행을 의미 카디널리티(Cardinality): 총 튜플의 수 스키마: 구조 X: 카티션 프로덕트: 두 집합에 속한 원소들을 이용한 모든 가능한 쌍 학년 = {1, 2, 3, 4} 학과 = {컴공, 전자, 기계} {(1, 컴공), (2, 컴공), (3, 컴공), (4, 컴공) (1, 전자), (2, 전자), (3, 전자), (4, 전자) (1, 기계), (2, 기계), (3, 기계), (4, 기계)} 디그리(degree): 속성의 수 릴레이션의 특성 튜플의 유일성 릴레이션은 튜플의 집합 집합은 중복을 허용하..

728x90