데이터베이스 스키마를 정의
데이터 정의어로 명시된 문장이 입력되면 DBMS는 사용자가 정의한 스키마에 대한 명세를 시스템 카탈로그 또는 데이터 사전에 저장.
데이터 정의어의 기본적인 기능
데이터베이스 내의 원하는 데이터를 검색, 수정, 삽입, 삭제
관계 DBMS에서 사용되는 SQL은 대표적인 비절차적 언어
절차적 언어: 어떠한 결과를 얻기 위한 과정을 명시
비절차적 언어: 얻고 싶은 결과만 명시 (결과를 얻은 과정은 DBMS가 결정)
대부분의 데이터 조작어는 SUM, COUNT, AVG와 같은 집단 함수들을 가지고 있음
데이터 조작어는 단말기에서 대화식으로 입력되어 수행되거나 C, JAVA 등의 고급 프로그래밍 언어로 작성된 프로그램에 내포되어 사용된다.
데이터 조작어의 기본적인 기능
: SQL의 SELECT, UPDATE, DELETE, INSERT

트랜잭션 (Transaction) ?
: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위

데이터베이스 관리자는 조직의 여러 부분의 상이한 요구를 만족시키기 위해 일관성이 있는 데이터베이스 스키마를 생성하고 유지하는 사람
데이터 베이스 관리자의 역할
: 데이터베이스 스키마를 생성하고 변경하며 무결성 제약조건을 명시한다. 또한 사용자의 권한을 허용하거나 취소하고, 사용자의 역할을 관리한다.
데이터베이스 위에서 특정 응용 프로그램이나 인터페이스를 구현하는 사람
고급 프로그래밍 언어 (C, JAVA 등)로 응용 프로그램을 개발하면서 데이터베이스를 접근하는 부분은 내포된 데이터 조작어를 사용한다.
이들이 작성한 프로그램은 최종 사용자들이 반복해서 수행하므로 기작성 트랜잭션 (canned transaction)이라고 부른다.
질의하거나 갱신하거나 보고서를 생성하기 위해서 데이터베이스를 사용하는 사람
데이터베이스 질의어를 사용하여 매번 다른 정보를 찾는 캐주얼 사용자와 기작성 트랜잭션을 주로 반복해서 수행하는 초보 사용자로 구분할 수 있다
개발된 응용 프로그램을 이용하는 경우 초보 사용자이다. 예를 들어 영화 애플리케이션을 통해 영화를 예매하는 사용자들은 초보 사용자 인것이다. 반면에 회사 내부에서 질의어를 통해 데이터베이스의 특정 데이터에 접근하는 사용자들을 캐주얼 사용자라고 한다.
ERWin 등의 CASE 도구들을 이용해서 데이터베이스 설계를 담당
CASE (Computer Aided Software Engineering)
: 시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공하여 반복작업을 줄이고 문서 작성과 개발팀 간의 협업을 도우며 , PC 기반에서 운영된다.
데이터베이스의 일관성을 유지하기 위해 정규화를 수행