본문 바로가기

데이터4

MYSQL - 인덱스(INDEX) 인덱스 인덱스 개념 테이블 안의 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터베이스 객체 책 페이지를 목차나 색인을 통해 쉽게 찾는 것과 같은 원리 인덱스의 필요성 SQL 을 실행할 때 , 디스크 접근 횟수를 줄여 검색 속도를 높이기 위함 대부분 DBMS 는 B 트리 (Balanced tree) 구조의 인덱스를 지원 장점 : 루트 노드로부터 리프 노드까지의 탐색 길이가 같아서 모든 데이터에 대한 일정 수준의 검색 시간을 보장 CREATE INDEX 명령문의 형식 CREATE [REVERSE] [UNIQUE] INDEX [인덱스 이름] ON 테이블_이름 ({열_이름[ASC|DESC]},+); '수강' 테이블의 '학번', '과목번호', 열을 대상으로 인덱스 'idx_수강'을 생성하시오 create ind.. 2022. 10. 13.
MYSQL - CREATE TABLE 문, ALTER 문, DROP 문, CREATE USER 명령문 CRATE TABLE 문 create table 학생21 (학번 char(4) not null, 이름 varchar(20) not null, 주소 varchar(50) null default '미정', 학년 int not null, 나이 int null, 성별 char(1) not null, 휴대폰번호 char(13) null, 소속학과 varchar(20) null, primary key (학번), unique (휴대폰번호)); create table 과목21 (과목번호 char(4) not null primary key, 이름 varchar(20) not null, 강의실 char(5) not null, 개설학과 varchar(20) not null, 시수 int not null); create ta.. 2022. 10. 13.
MYSQL - GRANT문, REVOKE문 , DROP USER문 GRANT GRANT 문의 형식 GRANT 권한_내용 ON 권한_대상 TO 사용자_계정; GRANT 권한_내용 ON 권한_대상 TO 사용자_계정 with grant option; grant update, select on univdb1.학생21 to 'user41'@'%' with grant option; 사용자 계정의 권한 확인 show grants; show grants for 'user41'@'%'; REVOKE REVOKE 문의 형식 REVOKE 권한_내용 ON 권한_대상 FROM 사용자_계정; revoke delete on univdb1.* from 'user41'@'%'; DROP USER DROP USER 문의 형식 DROP USER 사용자_계정 drop user 'user41'@'%'; 2022. 10. 13.
MYSQL - 뷰(VIEW) 뷰 뷰의 개념 실제 데이터를 저장하지 않는 가상 테이블 (virtual table) 데이터베이스를 바라보는 창문 (window) 뷰에 대해 사용자가 질의를 요청할 때 비로소 DBMS 는 뷰 정의를 참조하여 질의를 수행 하고 그 결과를 사용자에게 반환 주로 기반 테이블로부터 정의되지만 또 다른 뷰를 기반으로도 정의될 수도 있음 뷰의 장점 편의성 : 복잡한 질의문 작성이 쉽고 간단해진다 보안성 : 데이터 보안 유지가 쉽다 재사용성 : 반복되는 질의문 작성에 효율적이다 독립성 : 스키마 변경에도 뷰 질의문은 변경할 필요가 없다 뷰 생성 CREATE VIEW 명령문의 형식 CREATE VIEW 뷰_이름 [ (열_리스트) ] AS SELECT_검색문 * 3학년 혹은 4학년 학생의 학생이름, 나이, 성, 학년으로 .. 2022. 10. 13.