DML과 DDL은 데이터베이스 언어이다.
데이터베이스 시스템은 데이터베이스 스키마를 기술하는 DDL(데이터 정의언어, data definition languge)와
데이터베이스 질의 및 갱신을 표현하는 데이터 조작 언어 DML(데이터 조작 언어, data manipulation language)를 제공한다.
1. DML(데이터 조작 언어, data manipulation language)
DML은 사용자가 적절한 데이터 모델로 구성된 데이터를 액세스하거나 조작할 수 있도록 하는 언어.
엑세스의 형태는
정보검색, 정보 삽입, 정보 삭제, 데이터 수정 이다.
기본적으로 두 가지 형태의 DML이 있는데,
절차식(procedual) DML 어떤 데이터가 필요하며 그 데이터를 어떻게 구할지 지정할 것을 요구.
선언식(decleartive) DML 어떠한 데이터가 필요한지 지정할 것만을 사용자에게 요구.
절차식은 우리가 일반적인 프로그래밍을 할 때를 생각하면 된다.
파일에서 특정한 학생의 정보를 알고 싶을때
그 학생을 찾기 위한 과정을 다 명시하는 것이 절차식이다.
예를 들어 우리학교 컴퓨터 공학과 학생 중 평점이 3.0이 넘는 학생들의 리스트를 알고 싶다고 하자.
먼저 우리학교 학생들의 리스트를 가져오고
-> 과가 컴퓨터 공학과인 학생만 추출
-> 평점이 3.0 이상인 학생만 추출
이렇게 절차적으로 찾는 방법을 기술해 나가는 방식이 절차식 DML이다.
반면, 선언식 DML은 우리과 컴퓨터 공학과 중 평점 3.0이 넘는 학생을 찾아줘!
라고만 말하면 DBMS가 그 리스트를 구하는 방법을 스스로 효율적으로 찾아 리스트를 구한다.
우리는 앞으로 주로 선언식 DML을 주로 다루게 되며, 이는 DBMS의 활용을 극대화 하는 효과도 있다고 할 수 있다.
DML의 ex)
Insert into SUBJECT (SUBJECT_CODE,SUBJECT_NAME,ROOM,CREDIT,CLASS_TIME,PROF)
values ('C0001','데이터베이스','5101',3,'목 789',1);
--서브젝 테이블에 한 row 넣기
select * from subject where ROOM==5313;
--subject 테이블에서 5313에서 수업하는 수업들만 추출.
2. DDL(데이터 정의언어, data definition languge)
데이터베이스 스키마는 DDL이라는 특수한 언어로 표현된 정의들의 집합으로 구체화 된다.
다시 말해, DDL은 데이터베이스 스키마를 기술하는 언어이다.
DDL로 표현하는 스키마, 스키마의 속성들은(속성들의 제약조건을 명시)
도메인 제약조건(Domain constratints)
참조 무결성(Referential Integrity)
주장(Assertions)
권한(Authorization)
로 크게 구분된다.
DDL의 ex)
CREATE TABLE student (
std_id varchar2(10),
name varchar2(100) NOT NULL,
jumin_no char(14), --주민번호의 '-' 포함
email varchar2(100) NOT NULL,
phone_office varchar2(50),
cell_office varchar2(50) NOT NULL,
dept_name varchar2(100),
primary key(std_id)
);
ALTER TABLE student add (addr varchar2(300));
CREATE TABLE subject (
subject_code varchar2(100) ,
subject_name varchar2(200) not null,
room varchar2(100),
credit number not null,
class_time varchar2(100),
prof number not null,
constraint subject_pk primary key(subject_code),
constraint subject_emp_fk FOREIGN KEY (prof) REFERENCES emp (emp_id)
);
'ComputerScience > Database' 카테고리의 다른 글
자바(이클립스)와 oracle DB 연동하기. (4) | 2011.08.28 |
---|---|
도서관 관리 시스템의 ER 모델링 (0) | 2010.12.22 |
데이터베이스에서의 인스턴스, 스키마 (0) | 2010.12.22 |
데이터베이스 시스템에서의 데이터 추상화 (0) | 2010.12.22 |
xp에서 오라클 11g R2 설치부터 계정생성, 권한부여까지. (1) | 2010.11.21 |