Oracle 3강 - 데이터베이스 구축 과정
데이터베이스 구축 과정
- 요구사항 분석
- 데이터 모델링
모델링에는 개념적 - 논리적 - 물리적 모델링 3단계가 있다. - 테이블 설계
- ER-win(설계도구)을 이용한 모델링
- 한국건설의 물리적 DB모델링
- DB스키마 생성(테이블을 만드는 것)
1~6 순서로 진행 : 포워드 엔지니어링
6번 -> 2번 : 리버스 엔지니어링
13개의 다이어그램으로 시스템을 분석
공통적인 개발방법 : 그림을 그려서 전달하는 방법
- 요구사항 분석
<개념적 모델>
테이블을 구축 시 명사는 개체(entity), 동사는 관계(relationship)가 됨.
ex) 회원이 상품을 구매하다 --> 명사 : 회원, 상품 (entity) / 동사 : 구매하다 (relation)
관계를 설정할 때는 동사가 반드시 두 개의 명사와 연관됨.
개념적 모델에서 엔터티를 만들어야 함.
- 개체(entity), 속성(attribute), 관계(Relationship)를 뽑아내야 하는 단계
- 엔터티(특징을 지을 수 있는 속성을 가짐) -> 테이블이 될 객체
정제방법 : 한 엔터티(사업장, 사원 등)를 언급한 것끼리 모으기
배타적관계 : 한 속성이 다른 속성의 반대일 때(ex. 공사중, 공사완료)
슈퍼타입(전체 집합) <-> 서브타입(집합의 부분을 이루는 교집합)
- 데이터 모델링
attribute에 또 다른 attribute가 포함될 수 없다.
E-R 다이어그램에서
개체(entity) : 사각형
속성(attribute) : 원
관계(relation) : 마름모
다대다 형식으로 표현됨. - 개념적 모델링에서만 허용, 다음 단계에서는 일대다 형식으로 바꿔야 함.
규칙
1) 모든 entity는 relation으로 변경한다. entity의 속성을 relation의 속성으로 바꾼다.
2.) 다대다 관계는 relation으로 바꾼다. 일대다의 관계는 표시하지 않는다.
일대다(1:N)의 관계는 1측이 부모가 되고(기본키) N측이 자식(외래키)이 됨. : 식별자관계
식별관계 : 부모테이블의 기본키가 자식테이블의 기본키가 되는 것(직선으로 연결)
비식별관계 : 그 외(점선으로 연결)
<함수종속성>
결정자와 종속자
y = f(x)에서 x가 결정자, y 는 종속자
결정자 : 종속자를 변화시킬 수 있는 요소
종속자 : 결정자로 인해 변화되는 요소
이행 함수적 종속성
x -> y, y -> z 라는 종속관계가 있을 때, x -> z가 성립될 때를 이행 함수적 종속이라고 한다.
- 테이블 명세서
컬럼ID,를 정확한 명칭, 알아보기 쉬운 명칭으로 정하기(공공데이터포털_행정표준용어를 사용)
NULL칸의 N.N의 의미 : NOT NULL
[실습]
-(명령구분)
.SELECT 검색
.DDL(DATA DEFINITION LANGUAGE) 데이터 정의어 : CREAT, ALTER, DROP
.DLC(DATA CONTROL LANGUAGE) 데이터 제어어 : COMMIT, ROLLBACK, SAVEPOINT, REVOKE
.DML(DATA MANIPULATION LANGUAGE) : INSERT, UPDATE, DELETE, MERGE
CREATE : 객체를 만드는 명령어, (CREATE 객체의 종류 / CREATE 테이블 테이블명)
DROP : 객체를 없애는 명령어
ALTER : 구조를 변경하는 명령어
COMMIT : 하드디스크에 연결하여 저장하는 명령어(입력, 수정, 삭제 시 검토작업 수행 후 커밋)
ROLLBACK : 트렌젝션을 취소하는 명령어, 가장 최근에 커밋된 상태로 바뀜.(실행취소 명령어가 아님)
SAVEPOINT : 일정 구간까지만 저장하는 명령어
GRANT : 권한 부여할 때 쓰는 명령어
INSERT : 자료를 삽입할 때 쓰는 명령어
UPDATE : 자료를 갱신할 때 쓰는 명령어
DELETE : 자료를 지울 때 명령어
MERGE : 특정 데이터를 찾아봐서 없으면 삽입, 있으면 수정하거나 삭제하게 만드는 명령어
- CREATE
- 오라클 객체를 생성할 때 사용
- 테이블 생성 시 CREATE TABLE 명령 사용
(사용형식)
CREATE TABLE 테이블명(
컬럼명1 데이터타입[(크기)] [NOT NULL] [DEFAULT 값][,]
컬럼명2 데이터타입[(크기)] [NOT NULL] [DEFAULT 값][,]
:
컬럼명N 데이터타입[(크기)][NOT NULL] [DEFAULT 값][,]
[CONSTRAINT 기본키설정명 PRIMARY KEY (컬럼명[,컬럼명,...])][,]
[CONSTRAINT 외래키설정명 FOREIGN KEY (컬럼명[,컬럼명,...])]
REFERENCES 테이블명(컬럼명[,컬럼명,...]) -원본 테이블명
[CONSTRAINT 외래키설정명 FOREIGN KEY (컬럼명[,컬럼명,...])]
REFERENCES 테이블명(컬럼명[,컬럼명,...]) );
컬럼명1~N까지는 각각 다른 컬럼명이 나와야 한다.
Oracle에서 취급하는 데이터타입 : 숫자, 문자열, 날짜, 2진수(사진, 동영상 등)
Table을 만들 때 테이블명을 먼저 만들어줌 -> Table의 약자 : TBL
Char 고정길이표현타입
varChar 가변길이표현타입 - 오라클에서는 varChar2를 사용
[NOT NULL] : NULL을 허용하지 않는 컬럼
Null값이 들어가면 +,-,*,/ 해도 모두 Null이 됨.
Oracle에서는 값을 입력하지 않으면 무조건 Null값이 들어감.
[DEFAULT 값] : 사용자가 입력하지 않았을 때 들어가는 기본 값.
한 컬럼이 끝나면 [,]가 와야함.
CONSTRAINT(제약사항) : 기본키, 외래키를 설정할 때 쓰임. 중복되는 설정명이 와서는 안 됨.
외래키가 두 개 이상일 때, CONSTRAINT도 두 번 이상 써줘야 한다.
사용 예) 다음 자료를 참고하여 사원테이블을 생성하시오.
테이블명 : EMPLOYEE
---------------------------------------------------------------
컬럼명 데이터타입 크기 NULLABLE PK/FK
---------------------------------------------------------------
EMP_ID CHAR 5 N.N PK
EMP_NAME VARCHAR2 30 N.N
EMP_ADDR VARCHAR2 100
DEPT_NAME VARCHAR2 50
----------------------------------------------------------------
답)
CREATE TABLE EMPLOYEE(
EMP_ID CHAR(5) NOT NULL,
EMP_NAME VARCHAR2(30) NOT NULL,
EMP_ADDR VARCHAR2(100),
DEPT_NAME VARCHAR2(50),CONSTRAINT pk_employee PRIMARY KEY(EMP_ID));
Author And Source
이 문제에 관하여(Oracle 3강 - 데이터베이스 구축 과정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gksmf6699/Oracle-3강-데이터베이스-구축-과정저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)