JAVA_School/JAVA_School_class

[0426] DB설계및구현1

지윤이다 2023. 4. 26. 17:36

Grant : 허가하다

SELECT 어떤 데이터가 들어가있는지 권한을 준다. 

 

RDMS'

Integrity Rules (무결성 규칙)

1) Entity Integrity (엔티티 무결성)

2) Referential Integrity (참조 무결성)

항상  foreign은 primary key를 가져다가 쓰는 것. tal - orders 와 date, customer, CustomerId / customer - 주소, 아디 등이 있음.

foreign key는 customer.customerID 는 primaryKey

Customer Table 은 foreign key가 없다.

foreign key는 orders table 의 customerId, 여러개의 record가 foreign 키가 될 수 있.. - primary key는 안 됨

 

order table에 foreign key가 있으면, foreign key의 1,2,3,4 가 있다. 그걸가지고 관계를 맺고 있는 Customer로 갔는데 1,2,3,4가 없다. 이는 참조 무결성이라고 한다. 만약 table A 가 froeign의 값을 가지고 있으면 다른 테이블 B의 기본키에서 발견이 되어야 한다. 그렇지 않으면 foreign key의 값이 Null이 되어야 한다.

예를 들어 1,234가 없어졌으면 그 order을 customer의 ID가 Null이 되어야 한다.

 

참조 무결성이 위배되면 안 된다. 

order, customer table이 있다. order에 1,2,3,4 주문이 있다. customer table에서 1,2,3,4 지워버려, -> 지워버릴려고 delete를 하려고 했더니, dbms가 허용을 안함.

-> 참조무결성 위배가 된다. 왜? order table에 1,2,3,4가 있어서.

지우려면? Order table의 1,2,3,4 로 된 것이 다 Null로 되어야 한다. 그렇게 하면 DBMS가 지워진다. 왜냐? 참조 무결성의 위배가 되지 않기 떄문이다.