DB (6) 썸네일형 리스트형 06. 정규화 (Normalization) 1. 정규화란? RDBMS 설계에서 중복을 최소화하게 데이터를 구조화 하는 프로세스 자료 중복으로 인해 이상 현상이 발생 할 수 있어 이를 최소화 하는 것이 정규화의 목적 2. 정규화의 여섯가지 과정 정규화(normalization) 는 총 여섯 과정이 있다. 그 중 실제로는 3NF 까지만 사용 한다.(3NF 가 되면 정규화가 된 것으로 간주 한다.) 각 정규형은 이전 단계들을 기본적으로 모두 만족 해야만 한다. 1NF 모든 항목에 값이 있어야 하며(NOT NULL), 중복열이 없어야 한다. 2NF 개체의 속성이 한 식별자에 종속 되어야 한다.(부분 함수적 종속 제거) 3NF X로 인해 Y가 결정 되고, Y 로 인해 Z 가 결정되는 경우(이행 함수 종속성 제거) 3. 설계(Design) 테이블에 들어갈 .. 05. DB 기능 (auto_increment, limit 등) 1. auto_increment Auto_increment 는 자동으로 증가하는 속성 이다. Table 생성시 속성으로 지정해 주거나 이미 생성된 Table 에 추가 해 줄 수 있다. 단, auto increment 속성을 사용되는 컬럼은 키 설정이 되어 있어야 한다. -- auto_increment 는 자동 증가하는 속성 -- 중복되지 않고, 반드시 들어가며 테이블에 종속적이므로 PK 에 자주 사용된다. -- 생성법 1 : 테이블 생성시 함께 생성 create table auto_inc( no int(10) primary key auto_increment ,name varchar(10) not null ); desc auto_inc; insert into auto_inc (name)values('kim.. 04. INDEX, EXISTS, VEIW 1. INDEX index(색인) 은 검색을 빠르게 하기 위한 수단이다. Primary key 와 Unique key 가 지정되면 따로 index 를 생성된다. -- 색인 : 검색을 빠르게 해주기 위한 목록 -- 예) 가나다 순으로 각 단어의 위치를 알려주는 목록 -- 그렇다 보니 단어를 추가/삭제 할 때 인덱스도 추가/삭제 해주어야 한다. -- 1) 고유 인덱스 (UNIQUE INDEX) -- 중복되지 않는 데이터에 대해서만 설정되는 인덱스 -- PK 나 유니크 키를 걸어주면 자동으로 생성되는 인덱스 -- 인덱스 생성 시 중복데이터가 있으면 에러 발생 -- CREATE UNIQUE INDEX [인덱스 이름] ON [테이블 명](컬럼); create unique index emp_ename_idx on .. 03. 서브 쿼리, JOIN, SET 1. 서브 쿼리 서브 쿼리는 '쿼리 안에 쿼리' 라는 뜻이다. 서브쿼리는 사전에 추출된 내용에서 재 검색 하거나, 검색된 내용을 가상 컬럼을 만들어 추가 할 수 있다. -- 서브 쿼리 : 쿼리 안의 쿼리 -- 하나의 쿼리문으로 받아온 데이터를 바탕으로 다른 내용을 검색할 때 사용 -- 1. 추출된 결과로 다른 내용을 검색 시 사용 -- 2. 검색된 내용을 가상의 컬럼으로 볼 때 사용 create table dept( deptno varchar(10) primary key ,deptname varchar(20) ,loc varchar(10) ); create table emp( ename varchar(20) ,job varchar(50) ,deptno varchar(10) ,hiredate date );.. 02. Constraint과 Relation 1. CONSTRAINT (제약 조건) -- 1) PRIMARY KEY (기본 키 제약조건) -- 중복과 NULL 을 허용하지 않는다. -- 테이블 종속적이다. (하나의 테이블에 하나의 PK) -- 하나의 컬럼으로 하나의 PK 를 만들 수 있지만, 여러개의 컬럼을 합쳐서 만들 수도 있다. (최대 16개 까지 조합 가능) -- 테이블 생성 시 함께 생성 (가장 많이 활용) create table pk_test( first_col int(3) primary key, second_col varchar(4) ); desc pk_test; -- 테이블 생성 후 추가 desc employees; select * from employees; -- ALTER TABLE [테이블 명] ADD CONSTRAINT [제약조.. 01. DB의 기초 1. DB (MariaDB) -- 주석 /* 1. 유저 생성 */ -- CREATE USR [유저이름]@[접근 가능한 IP] IDENTIFIED BY [비밀번호]; -- web_user 는 모든 IP 에서 접근 가능하고, 비밀번호는 pass 로 만들어라. create user 'web_user'@'%' identified by 'pass'; -- dba_user 는 192.168 로 시작되는 IP 에서 접근 가능하고, 비밀번호는 pass 로 만들어라. -- 특정 IP 대역만 접근 가능하게 할 경우 create user 'dba_user'@'192.168.%' identified by 'pass'; -- user002 는 192.168.38.70 IP 에서만 접근 가능하고, 비밀번호는 pass3 로 만들어.. 이전 1 다음