보안
-> 루트 사용자 계정 보호
=> 패스워드 변경
SET PASSWARD FOR 'root'@'localhost' = PASSWARD('passwd'); //passwd는 실제 비밀번호
새 사용자 추가
CREATE USER user1 IDENYIFIED BY 'password1';
어떠한 DB를 사용하고 싶은가
USE 'UseDB'; => UseDB를 사용하겠다.
-> 그 후 테이블을 생성하면 UseDB에 데이터 생성됨
CREATE는 DB생성, 테이블 생성이 가능하다
GRANT : 사용자의 테이블과 열에 대한 권한 제어
GRANT ALL On table1 To user1 : user1에게 table1에 대한 모든 권한 부여(root 계정과 같아짐 : 권한이)
-> 테이블을 조회, 삭제, 행 추가 등 여러가지 권한 제어가 가능하다.
GRANT DELETE ON table1 To user1 WITH GRANT OPTION : 다른사람에 table1에 대한 DELETE 권한을 부여
권한 취소
REVOKE SELECT ON table1 FROM user1;
REVOKE GRANT OPTION ON DELETE ON table1 FROM user1,user2;
-> user1,user2 에게 table1의 DELETE권한은 있지만 다른 사람에게 권한을 줄 수 없다.
REVOKE DELETE ON table1 FROM user1 CASCADE;
-> user1의 table1에 대한 DELETE 권한 뿐 아니라 user1이 부여한 다른 사람의 권한도 취소
REBOKE DELETE ON table1 FROM user1 RESTRICT;
-> user1의 table1에 대한 DELETE 권한을 취소할 때, user1이 다른 사용자에게 권한을 부여한 경우 에러 발생
역할 : 특정 권한을 모아 그룹의 사용자에게 적용
CREATE ROLE role1; //role1 역할 생성
GRANT SELECT, INSERT ON table1 TO role1; // role1에 SELECT, INSERT 권한 지정
GRANT role1 TO user1 : role1 역할을 user1에게 부여
DROP ROLE role1 : role1 역할 삭제
GRANT role1 To user1 WITH ADMIN OPTION : role1역할을 admin 권한과 함께 user1에게 부여
REVOKE role1 FROM user1 CASCADE : user1으로부터 role1 역할 뿐 아니라 user1이 부여한 다른 사용자의 역할도 취소
REMOKE role1 FROM user1 RESTRICT : user1으로부터 role1 역할을 취소할 때, user1이 다른 사용자에게 역할을 부여한 경우 에러 발생
GRANT SELECT ON table TO user1 IDENTIFIED BY 'password1'
-> 새 사용자 추가와 동시에 권한 부여
CREATE USER user1 IDENTIFIED BY 'password1';
GRANT SELECT ON table1 To user1;
-> 새 사용자 추가와 동시에 권한 부여
변경하는 열(x) 변경되는 열(y)
변경되는 열은 변경하는 열에 종속
합성키 일부에 종속 -> 부분적 함수 종속
ex) 합성키 : 이름 + 주소
우편변호는 주소에 종속 -> 부분적 함수 종속
목적에 대하여 정확한 데이터를 위해 정규화를 진행
-> 여러 명이 DB를 작성하더라도 일관성 있는 데이터 테이블이 된다.
원자적 데이터 규칙 :
1. 한 열에 같은 데이터를 여러개 가질 수 없다.
2. 여러 열에 같은 타입의 데이터를 가질 수 없다.
ex) 취미 열에 영화,여행이 들어 있는 경우 중복해서 substring같은 함수를 사용하여 검사해야한다.
-> 느릴 수 밖에 없다.
-> 행은 여러개 나와도 괜찮다. -> 관련 테이블을 따로 생성
DB에서 가장 빠른 방법 : JOIN
제1 정규형 : 원자적 데이터로 구성 + 기본 키
제2 정규형 : 제1 정규형 + 부분적 함수 종속 없음(인위적 기본 키)
제3 정규형 : 제2 정규형 + 이행적 함수 종속 없음
-> 종속적인 부분에 대해서는 따로 테이블을 생성한다.
=> 중복적인 내용을 줄이기 위해서
-> 모두 이와 같은 규칙을 가지고 DB를 설계할 경우 모두 비슷한 결과로 설계를 하게 된다.
-> 일관성이 있으며, 표준 규격으로써 직관적인 DB를 설계할 수 있다.
HFSQL.zip
drive.google.com
'학교수업' 카테고리의 다른 글
파이썬 (0) | 2023.04.19 |
---|---|
컴퓨터 그래픽스 응용 13주차 (0) | 2022.11.30 |
KdTree 3D transform (0) | 2022.11.29 |
컴퓨터 그래픽스 응용 12주차 (0) | 2022.11.23 |
데이터베이스 12주차 (0) | 2022.11.22 |