2. 데이터베이스
• 데이터 중복의 최소화
• 데이터의 무결성.
• DataBase Management System
• 복수 사용자 관리
• 다수의 사용자에 의해 접근되므로 동일한 데이
터의 동시 사용 또는 변경을 위해 데이터의 일관
성 보장.
• 허용된 권한을 통해서만 데이터로 접근 가능.
• 복수의 연결 및 자원 관리
한림대학교 웹데이터베이스 - 이윤환
3. SQL
데이터베이스와 의사소통을 하기 위한 표준 언어.
• 데이터 검색, 관리, 데이터베이스 생성 및 수정과 관리
SQL 명령어
• 데이터 정의어(Data Definition Language)
• 데이터베이스의 구조 정의 또는 변경.
• 데이터 조작어(Data Manupulation Language)
• 데이터의 삽입, 삭제, 검색, 수정.
• 데이터 제어어(Data Control Language)
• 데이터베이스에 대한 권한 제어.
한림대학교 웹데이터베이스 - 이윤환
4. 사용자 - MySQL
DBMS는 하나의 시스템으로 접속을 하기 위해 사용
자 인증 필요
• 주어진 권한별로 사용자 역할 구분
root 사용자
• MySQL의 관리자로 모든 자원 관리
• 설치시 기본 등록
사용자 생성 및 관리문
• GRANT [권한] ON [자원] TO [사용자] [옵션]
한림대학교 웹데이터베이스 - 이윤환
5. 사용자 - MySQL
root 사용자 접속
MySQL 클라이언트
접속 종료
mysql> q
한림대학교 웹데이터베이스 - 이윤환
6. 사용자 - MySQL
MySQL 클라이언트 접속
> cd c:autoset6ServerMySQL5bin
autoset > mysql -u root -p mysql
한림대학교 웹데이터베이스 - 이윤환
7. 사용자 - MySQL
사용자 암호 변경
• 초기 root 암호는 autoset
• 이 초기 암호를 변경해 보자
• 클라이언트 종료 : mysql> q
• 현재 경로에서 다음 입력
mysqladmin -u root
-p
password test1234
• 암호를 물어보면 기존 암호 autoset 입력
한림대학교 웹데이터베이스 - 이윤환
8. DB : 작업 공간
DBMS상에서 작업을 하기 위한 기본공간
DB 생성
• root 사용자로 클라이언트를 통해 접속하여 생성
• DB 생성문
CREATE DATABASE [IF NOT EXISTS] db_name
[[DEFAULT] CHARACTER SET [=] charset_name
[DEFAULT] COLLATE [=] collation_name]
• Ex
• CREATE DATABASE testDB CHARACTER SET utf8;
• show databases;
한림대학교 웹데이터베이스 - 이윤환
10. DB : 작업 공간과 사용자 연결
사용자 생성과 DB 연결
• DB를 사용할 MySQL 사용자를 생성과 권한부여를
동시에
• GRANT 사용
[표7-10] GRANT 권한
한림대학교 웹데이터베이스 - 이윤환
11. DB : 작업 공간과 사용자 연결
• 접근 자원 설정 : DB명.table명
• 특정 DB 상의 모든 Table : DB명.*
• 모든 DB상의 모든 자원 : *.*
• 사용자 설정 : ‘사용자명’@’접근호스트’
• localhost 상의 특정 사용자 :
‘사용자명’@’localhost’
• 옵션 : IDENTIFIED BY ‘암호’
Ex
• mysql> GRANT ALL ON testDB.* TO
‘testUser’@’localhost’ IDENTIFIED BY ‘test1234’;
• mysql> SELECT * FROM db;
한림대학교 웹데이터베이스 - 이윤환
13. TABLE : 실제 자료가 저장되는 곳
TABLE
• 실제 데이터가 저장되는 곳으로 MySQL과 같은 관계
형 데이터베이스에서는 저장의 단위는 행이다.
• 저장에 앞서 속성(열)으로 구성된 TABLE의 형태를
지정해야 한다.
• 속성들은 별도의 자료형을 갖고 있다.
• 각 행을 고유하게 구별할 수 있는 속성을 주키
(Primary Key, PK)라고 하여 각 테이블은 주키를 가
질 수 있다.
한림대학교 웹데이터베이스 - 이윤환
14. TABLE : 실제 자료가 저장되는 곳
속성의 자료형
• 숫자 자료형
[표7-3] 숫자 데이터형
한림대학교 웹데이터베이스 - 이윤환
15. TABLE : 실제 자료가 저장되는 곳
속성의 자료형
• 문자열 자료형
[표7-4] 문자열 데이터형
한림대학교 웹데이터베이스 - 이윤환
16. TABLE : 실제 자료가 저장되는 곳
속성의 자료형
• 날짜 및 시간 자료형
[표7-5] 날짜 및 시간 데이터형
한림대학교 웹데이터베이스 - 이윤환
17. TABLE : 실제 자료가 저장되는 곳
테이블 옵션
• NULL, NOT NULL
• 속성값이 빈 값을 허용할지의 여부.
• DEFAULT
• 값을 입력하지 않았을 때 초기값 지정.
• AUTO_INCREMENT
• 키 등에서 1씩 자동으로 증가하는 번호를 위한 옵
션.
• PRIMARY KEY 키워드
• 테이블의 기본키 설정.
한림대학교 웹데이터베이스 - 이윤환
18. TABLE : 실제 자료가 저장되는 곳
Table 생성 예
• major(mid, mname)
• student(sid, sname, sage, sgender)
• subject(sbid, sbname)
• sclass(sid, sbid)
• 밑줄 쳐진 속성이 주키
TABLE 생성 SQL
CREATE TABLE [IF NOT EXISTS] tbl_name (
열1 속성 [열옵션], 열 2속성 [열옵션], … , 열 n속성[열옵션],
[table 옵션]
);
한림대학교 웹데이터베이스 - 이윤환
19. TABLE : 실제 자료가 저장되는 곳
앞서 생성한 사용자와 DB로 접속하자.
• > mysql -u testUser -p testdb
major (전공) 테이블
CREATE TABLE major (
mid int unsigned
NOT NULL AUTO_INCREMENT
PRIMARY KEY,
mname varchar(20) NOT NULL
);
한림대학교 웹데이터베이스 - 이윤환
20. TABLE : 실제 자료가 저장되는 곳
student(학생) 테이블
CREATE TABLE student (
sid char(8) NOT NULL PRIMARY KEY,
sname varchar(20) NOT NULL,
sage tinyint unsigned NOT NULL,
sgender enum('M', 'F', 'E')NOT NULL,
smajor int unsigned NOT NULL
);
한림대학교 웹데이터베이스 - 이윤환
21. TABLE : 실제 자료가 저장되는 곳
subject(과목) 테이블
CREATE TABLE subject (
sbid int unsigned NOT NULL
AUTO_INCREMENT
PRIMARY KEY,
sbname varchar(40) NOT NULL
);
한림대학교 웹데이터베이스 - 이윤환
22. TABLE : 실제 자료가 저장되는 곳
sclass(수강) 테이블
CREATE TABLE sclass (
sid char(8) NOT NULL,
sbid int unsigned NOT NULL,
PRIMARY KEY (sid, sbid)
);
한림대학교 웹데이터베이스 - 이윤환