데이터베이스 14주차

2022. 12. 6. 11:34학교수업

보안 

-> 루트 사용자 계정 보호 

=> 패스워드 변경

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 - Google Drive

 

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