728x90
반응형
SMALL

개요

1. 관계형 데이터베이스 역사

1.1 역사

- 1960년대 : Flat File

- 1970년대 : Network DBMS, Hierarchical DB

- 1980년대 : 관계형 DBMS

- 1990년대 : 관계형 DBMS, 객체 관계형 DBMS

- 2000년대 : 관계형/객체관계형/객체지향 DBMS

1.2 데이터베이스 시스템에 대한 관계형 모델 제안

- E.F.Codd 박사(1970년 6월)

- “A Relational Model of Data for Large Shared Data Banks” 라는 논문

- RDBMS(Relational Database Management System)의 시초

1.3 관계형 모델의 구성요소

- 개체(object) 혹은 관계(relation)의 집합

- 관계(relation)에 가해지는 연산자의 집합

- 정확성과 일관성을 위한 데이터 무결

 

2. 관계형 데이터베이스 정의

2.1 정의

- 관계형 데이터베이스는 관계들의 모음 또는 이차원 테이블의 모음이다.

2.2 파일 시스템과 데이터베이스 시스템의 차이점

- 데이터 무결성 제공

- 데이터 공유 가능

- 데이터 정확성과 일관성 제공

- 관계 설정을 통한 중복 제거

- 표준화가 가능

 

3. 관계형 데이터베이스 특징

- SQL을 이용한 데이터 조작

- 데이터 무결성 제공

- 트랜잭션 제공

- ACID 규정 준수 : 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 용어

원자성(Atomicity) 일관성(Consistency) 독립성(Isolation) 지속성(Durability)
- 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력이다.
- 예를 들어, 자금 이체는 성공할 수도 실패할 수도 있지만 보내는 쪽에서 돈을 빼 오는 작업만 성공하고 받는 쪽에 돈을 넣는 작업을 실패해서는 안된다.
- 원자성은 이와 같이 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것이다.
- 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다.
- 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜잭션은 중단된다.
- 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것
- 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미한다.
- 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계좌간 이체하는 양 쪽을 볼 수 없다. 
- 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다.
- 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함을 의미한다.
- 전형적으로 모든 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌릴 수 있다.
- 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있다.

 

4. 엔티티(Entity) 관계 모델

4.1 Employees 테이블과 Departments 테이블의 관계 도표 생성

=> 부서에는 0명 이상의 사원을 갖고 있다.

=> 사원은 부서를 0개 혹은 1개를 가진다.

4.2 시나리오(카디널리티)

4.3 ER 모델링의 장점

- 조직에 대한 정보를 정확하고 자세하게 문서화 => 품질보증에 사용

- 정보 요구사항의 범위를 명확히 기술

- 데이터베이스 설계를 쉽게 이해할 수 있는 표본 제공

- 복수 응용프로그램의 통합화를 위한 효과적 프레임워크 제공

 

 

5. 관계형 데이터베이스의 기본 구조

일반적 개념 모델링 DB객체
데이터 집합,
Relation,
관계집합(Relation Set)
개체집합(Entity Set) 테이블(table)
관계집합 중 어떤 행(row) 튜플(tuple), 엔티티(Entity) 레코드(record)
관계집합 중 어떤 열(column) 속성(attribute) 필드(field)

 

6. 테이블 관련 용어

행(row) 테이블에서 각 행은 중복되지 않으며 기본키에 의해 식별된다. 행의 순서는 무의미하다.
열(column) 한 종류의 데이터를 나타내며 한 열의 데이터는 같은 타입을 갖는다.
기본키(primary key) 기본키는 유일하며 null값을 가질 수 없다. 식별자라고 한다.
외래키(foreign key) 다른 테이블의 기본키 혹은 고유키를 참조하여 사용한다.
필드(field) 행과 열이 교차하는 곳을 말하고, 하나의 값만 가진다.
null 필드는 그 안에 값을 안 가질 수 있다.

 

오라클 DBMS

1. 실습 환경 구축

- https://www.oracle.com 접속

- Oracle Database Express Edition 다운로드

Oracle Database Express Edition (XE) Downloads

 

Oracle Database Express Edition (XE) Downloads

Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum for help, feedback, and enhancement requests. Note: Oracle Support Services only provid

www.oracle.com

- SQLDeveloper 다운로드

Oracle SQL Developer Downloads

 

Oracle SQL Developer Downloads

This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Oracle Java JDK. You will need to install it if it's not already

www.oracle.com

 

 

2. 계정 초기화 하기

SQL> conn sys /as sysdba
Enter password:
Connected.
SQL> alter session set "_ORACLE_SCRIPT"=true;
Session altered.
SQL> @?/demo/schema/human_resources/hr_main.sql
specify password for HR as parameter 1:
1의 값을 입력하십시오: hr
specify default tablespeace for HR as parameter 2:
2의 값을 입력하십시오: users
specify temporary tablespace for HR as parameter 3:
3의 값을 입력하십시오: temp
specify log path as parameter 4:
4의 값을 입력하십시오: $ORACLE_HOME/demo/schema/log/

 

3. 쿼리 실행

 

4. sample Table

728x90
반응형
LIST

'IT > SQL' 카테고리의 다른 글

[SQL] 5. 분석 함수  (0) 2023.05.11
[SQL] 4. 그룹 함수를 이용한 데이터 집계  (0) 2023.05.10
[SQL] 3. 함수 - 2  (0) 2023.05.09
[SQL] 3. 함수 - 1  (0) 2023.05.09
[SQL] 2. SELECT문  (0) 2023.05.08

+ Recent posts