들어가기전에...
데이터베이스란 데이터를 여러 사람이 공유하고 사용할 목적으로 통합관리되는 데이터들의 모임을 말함
DB를 사용하지 않으면, 프로그램의 종료 시점에 그 전까지 생성한 많은 데이터들이 모두 날아가게됨
데이터베이스의 특징에 대해 설명해주세요.
데이터베이스는 실시간 처리에 의해 응답이 가능해야 하고, 상태는 동적이여야 함. 즉 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지해야함. 그리고 서로 다른 목적을 가진 여러 사람을 위한 것이기 때문에 동시에 같은 내용의 데이터를 이용할 수 있어야함. 그리고 데이터를 참조할 때 사용자가 요구하는 데이터 내용으로 찾아야함.
데이터베이스 언어(DDL,DML,DCL)에 대해 설명해주세요.
DBMS란 무엇인가요?
데이터베이스 관리 시스템. 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어들을 의미함
DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용프로그램들이 데이터베이스를 공유할 수 있도록 관리해줌
스키마란 무엇인가요?
데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조를 의미
내부스키마,외부스키마,개념 스키마가 있음
Key: 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성
데이터의 식별자 역할
Key가 필요한 이유
테이블 내에서 어떤 데이터를 찾는다고 하면 수많은 데이터 중 내가 원하는 것을 찾으려면 엄청난 탐색 시간이 필요한데 이 탐색시간을 줄여주는게 키임.
종류
후보키(Candidate Key)
튜플을 식별하기 위해 사용하는 속성들의 부분 집합. 기본키로 사용할 수 있는 속성들
유일성, 최소성 조건을 만족해야함
기본키(Primary Key)
후보키중에서 선택한 Main Key. Null값을 가질 수 없고 동일한 값이 중복될 수 없음
대체키(Alternate Key)
후보키 중 기본키를 제외한 나머지 키 = 보조키
슈퍼키(Super Key)
유일성은 만족하지만, 최소성은 만족하지 못하는 키. 예를 들어 말을 해보자면 (학생번호, 이름)을 묶어서 키로 사용한다고 가정했을때, 동명이인이 있어도 튜플 구분이 가능하다. 2번 민혁과 3번 민혁은 다른 민혁임을 학생번호를 통해 알 수 있음. 이렇게 유일성은 만족하지만, 최소성은 만족시키지 못함. (학생번호, 이름), (학생번호, 나이), (휴대폰, 나이) 등등은 슈퍼키가 될 수 있음
외래키(Foreign Key)
두 테이블을 서로 연결하는 데 사용되는 키. 다른 테이블의 기본키를 참조해 외래키로 사용함. 즉, 한테이블의 외래키는 연결되어있는 다른 티이블의 기본키중 하나임
외래키를 사용하는 이유는 데이터 무결성을 유지하기 위해서임