개발/SQL

SQL 정리 / SQLD 시험보면서 정리했던것 - 4

yy_dd2 2021. 9. 12. 00:20
반응형

* 식별자 표기법

 

 

*** 정규화

반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 비치되도록 하는것

- 1차 정규화 : 같은 성격, 내용 컬럼이 연속될 때 컬럼 제거, 테이블 생성.

- 2차정규화 : PK키가 2개 이상 복합키 구성일 때, 부분적 함수 종속 관계 테이블 분리

- 3차정규화 PK키가 아닌 일반 칼럼에 의존하는 칼럼 분리 -> 기본기를 제외한 컬럼간의 종속성 제거(이행 함수 종속성 제거)

 

*** 반정규화

정규화된 엔터티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행함.

+ 조회시 디스크 I/O가 많거나 경로가 멀어 조인에 의한 성능저하 막기.

 

*** 분산 DB 투명성

1. 분할 투명성 : 각 사본이 여러 site에 저장.

2. 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요.

3. 지역사상 투명성 : 지역 DB 객체가 여러 site에 중복되어 있는지 알 필요 없음

4. 중복 투명성 : DB객체가 여러 site에 중복되어 있는지 알 필요 없음

5. 장애 투명성 : 구성요소의 장애에 무관한 트랜잭션의 원자성 유지

6. 병행 투명성 : 다수 트랜잭션 동시 수행 -> 결과 일관성 유지

 


 

*** 도메인

하나의 속성이 가질 수 있는 모든 원자 값들의 집합을 의미

1. 각 속성이 가질 수 있도록 허용된 값들의 집합

2. 릴레이션에서 원자값을 가져야 한다. -> 릴레이션에서 모든 속성들의 도메인은 원자적 이어야 한다.

3. 속성명과 반드시 동일할 필요는 없다.

4. 실제 속성값의 합법 여부를 시스템이 검사하는데 이용된다.

 

 

*** DCL 유지 권한 설정. (유저 생성,. 권한 제어)

오라클 : 유저를 통해 DB접속, ID/PW 방식 인스턴스 접속, 해당스키마에 권한 부여

SQL서버 : 인스턴스 접속을 위해 로그인을 생성, 인스턴스에 존재하는 다수 DB와 연결하기 위해 유저 생성 후 로그인 유저와 맵핑, 윈도우 인증방식, 혼합모드 방식 존재

+ GRANT

GRANT CREATE USER TO scott;   //scott:오라클 샘플유저

---> GRANT 권한1, 권한2 TO 부여받을 계정;

+문제

UPDATE A_user.TB_A SET col1 = 'A' WHERE col2=3;

B_user가 위 작업을 하게 권한 부여하기

GRANT select, update  ON A_user TB_A TP B_user;

---> GRANT 권한줄명령어select, 권한2update ON 테이블명 TO 권할줄유저;

 


***DDL : CREATE,ALTER,DROP,RENAME 오토커밋

+ Create table 테();

+ Alter 

컬럼추가 Alter table 테 ADD ( 컬 데이터유형(80));

컬럼삭제 Alter table 테 DROP COLUMN 컬럼명;

컬럼수정 Alter table 테 Alter COLUMN (컬럼 데이터유형 Default NOT NULL);   ---> Alter COLUMN => MODIFY()

+DROP

제약조건 삭제

Alter table 테 DROP CONSTRAINT 조건이름

제약조건 추가

ALter table 테 ADD CONSTRAINT 조건이름 조건(컬럼명);

테이블 삭제 DROP Table; [CASCADE CONSTRAINT]->참조 제약조건 같이 삭제

테이블 데이터 삭제 TRUNCATE TABLE 테;

+Rename(11p 여기서부터 마저정리하기

반응형