22. 제약조건 이해와 설정 2 : UK, NOT NULL, CHECK
SQL
UK(unique key) - 데이타베이스의 필수요건은 아니지만 있을때 유용하게 사용할수 있다.
NOT NULL - 데이타베이스가 숫자컬럼에 null 값이 있으면 부정연산으로 생각된다.
- 테이블 뒤에 사용 x , 컬럼뒤에만 사용 가능하다.
CHECK - where 절에서 썻던것과 같이 조건을 부여하면된다.
- not null 제약 조건을 check 제약 조건으로 본다.
테이블 만들기 실습
drop table student;
purge recyclebin
create table student (
sno varchar2(8),
sname varchar2(10) constraint student_nu_sname NOT NULL,
sex varchar2(4) constraint student_nu_sex NOT NULL,
syear number(1) constraint student_nu_syear NOT NULL,
major varchar2(10),
avr number(4,2),
constraint student_sno_pk primary key(sno),
constraint student_sex_ch check (sex in ('남','여')),
constraint student_avr_ch check (avr <= 4.50));
drop table professor;
purge recyclebin;
create table professor (
pno varchar2(8),
pname varchar2(10) constraint professor_nu_pname NOT NULL,
section varchar2(10),
orders varchar2(10),
hiredate date constraint professor_nu_hiredate NOT NULL,
constraint professor_pno_pk primary key(pno));
drop table course;
purge recyclebin;
create table course (
cno varchar2(8),
cname varchar2(14) constraint course_nu_cname NOT NULL,
st_num number,
pno varchar2(8),
constraint course_cno_pk primary key(cno),
constraint course_pno_fk foreign key(pno)
references professor(pno));
drop table score;
purge recyclebin;
create table score (
sno varchar2(8),
cno varchar2(8),
result number constraint score_nu_result NOT NULL,
constraint score_sno_pk_score_cno_pk primary key(sno,cno),
constraint score_cno_fk foreign key(cno)
references course(cno),
constraint score_sno_fk foreign key(sno)
references student(sno),
constraint score_result_ch check (result<=0 and result<=100)
);
drop table product;
purge recyclebin;
create table product (
pno varchar2(12),
pname varchar2(100),
pprice number,
constraint product_pno_pk primary key (pno),
constraint product_pname_uk unique (pname),
constraint product_pprice_ch check (pprice >0)
);
drop table sales;
purge recyclebin;
create table sales (
sno varchar2(12),
sdate date constraint sales_nu_sdate NOT NULL,
sname varchar2(50) constraint sales_nu_sname NOT NULL,
result number,
constraint sales_sno_pk primary key (sno),
constraint sales_result_ch check (result >0)
);
drop table document;
purge recyclebin;
create table document (
sno varchar2(12),
pno varchar2(12),
amount number constraint document_nu_amount NOT NULL,
duprice number constraint document_nu_dupirce NOT NULL,
dprice number constraint document_nu_dpirce NOT NULL,
constraint document_sno_pk_pno_pk primary key (sno,pno),
constraint document_sno_fk foreign key (sno)
references sales(sno),
constraint document_pno_fk foreign key (pno)
references product(pno),
constraint document_dprice_ch check (dprice >0)
);
22. 제약 조건 관리
-ALTER TABLE 테이블
add constraint 제약조건, 제약조건타입
modify 컬럼 constraint 제약조건 not null;
drop pimary key 컬럼 constraint 제약조건 [cascade]
alter table class
add constraint class_cno_pk primary key (cno)
리눅스
-nat네트워크를 사용할때 실효성
이동형 컴퓨터를 사용할때 무선 네트워크가 바뀌어도 내부 네트워크 아이피를 바꿔주지 않아도 사용가능하다.
vmnet8 = 192.168.11.3
Samba service
-파일서버 (마치 자기껏처럼 파일을 공유하는 서버)
아이디 / 패스워드 가 없으면 사용할수 없다.
-share
browsable: 다른사람 디렉토리 볼수있는지 없는지
writable: 파일 업로드는 못한다
public: 모두가 접속할수 있는 리소스
write list = 업로드 할수 있게 하는 유저목록