*다른 필기*
0531
-p1
er모델링에 나타난 여러가지 패턴들을 관계형 데이터베이스로 바꾸는 것
-p2
기본키 정하고 데이터타입 정하고, 프로퍼티 정하면 테이블 완성
er다이어그램상에 나타난 각 엔티티가 테이블로 변환한다
변동 상황이 없다면 엔티티 식별자가 기본키가 된다
기본키가 너무 길고 가변적인 경우 대체키를 사용할 수 있다//int추가 삽입
후보키 - 유니크라고 달아줘야 됨
각 칼럼에 대한 데이터 타입을 잘 정해야된다
varchar() - 많이 씀//가변 길이
char() - 길이 고정
integer
float,double,decimal
datetime
-p3
그림자가 er다이어그램의 엔티티
********
시험문제에서 그림자를 따로 그릴 필요는 없다
********
er -> 데이터베이스 갈때는 타입이 필요하다
각 에트리뷰트가 일대일로 갔음
식별자 -> 기본키
-p4
이상적인 기본키는 짧아야 된다// 식별자가 되더라도 기본키로 지정하며 안됨
디비의 성능이 나빠진다//기본키는 항상 달고 다님
식별자가 길경우 쒀러게이트키를 만들어 줘라
쒀러게이트 키 - 사용자에게는 의미가 없다
-p5
기본키를 지정하고나면 후보키 설정
후보키는 테이블에서 튜플을 식별하는 대안적인 키
전화번호가 유일해야 된다하면 그것이 후보키가 된다
이름은 유니크 하지 않기 때문에 안됨
-p6
employee
email이 유니크해야 된다는 것 표현되있음
email이 후보키
Customer
이 부분 제대로 이해못함 ㅠ
-p7
null state
colum에 value가 null이 될 수 있는지 없는지
email이 유니크 하긴하지만 비어있을 수 있다는 표현
-p8~9
data type
decimal //소수점을 설명할 때 고정 소수점
ex) salary decimal(5, 2);//전체적 다섯자리, 소수점 두자리
gps cordinate - decimal(9,6) 사용
위도,경도
부동소수점
float - 4byte를 이용해서 표현
double - 8byte 이용
varchar - 65535byte까지
text - varchar max와 같다
long text - 4.2Gb //무조건 크게 잡으면 안됨
-p10
strong은 "1:1, 1:n, m:m"의 경우가 있다
녹음 38분 부분
p11 페이지의 relationship을 테이블로 만든 예제
Member,Locker tables
create table club_member(MemberNumber int primary key, memberName varchar(50) not null,
email varchar unique, phone varchar(15) not null unique, enter_date datetime default now() );
craete table locker(LockerNumber int primary key, Room char(1) not null, AssignedMember int, enter_date datetime default now(), foreign key Assigned Member references club_member(MemberNumber));
1:N relationship
1쪽을 parent라고 하고 many쪽을 child라고 한다.
create table Company(
CompanyID int primary key,
CompanyName varchar(50) unique not null,
City varchar(20),
Country varchar(20),
Volume bigint,
enter_date datetime default now());
create table department(
DepartmentName varchar(10) not null unique,
BudgetCode char(2) not null,
MailStop varchar(30),
enter_date datetime default now(),
foreign key AssignmentMember references club_member(memberNumber));
15page M:N relationship
Company_Part_Int table
create table Company_Part_Int(CompanyID int, partID int,
foreign key CompanyID references Company(CompanyID),
foreign key PartID reference Part(PartID));
-> 여기에 enter_date를 넣어도 상관없다.
id dependent한
• Representing N:M Relationships –We just discussed this
• Association Relationships
• Multivalued Attributes
• Archtype/Instance Relationships : 두가지 형태로 구현될 수 있다.
• id dependent: 자기가 참조하고 있는 strong entity의 식별자를 그대로 상속받은 경우, id를 의존하고 있다는 뜻이다.
• An intersection table
• An association table : intersection table에서 attribute를 추가적으로 가지게 되는 패턴 (**중요하다**)
• mutiValued attribute
phone_contact table
create table phone_contact ( contact int not null, CompanyID varchar(30) not null, phoneNumber varchar(15) not null, primary key(contact, CompanyID) , foreign key CompanyID references Company(CompanyID));
'이론 > DB' 카테고리의 다른 글
[데이터베이스] Indexing - (2) (0) | 2019.06.07 |
---|---|
[DB] 8-2 ER to RDB - (3) & indexing (0) | 2019.06.04 |
[데이터베이스] ER 다이어그램 - (3) & 8-2 ER to RDB (0) | 2019.05.28 |
[DB] 데이터베이스 ER 다이어그램 - (3) (0) | 2019.05.24 |
[DB] 데이터베이스 ER 다이어그램 - (2) (0) | 2019.05.21 |