DBMS
reference: https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/
> DBMS(DataBase Management System)
- 응용 program과 database의 중재자로서 모든 응용 프로그램들이 database를 공용할 수 있게 관리해 주는 system
> DBMS의 분류
계층형(Hierarchical)
- 처음으로 등장한 DBMS 개념(1960년대)
- 트리형 구조로 정의, 자식은 하나의 부모만 가질 수 있다.
- 처음 구성을 완료한 후에 이를 변경하기가 상당히 까다롭다.
- 다른 구성원을 찾아가는 것이 비효율적
- 지금은 사용 X
망형(Network)
- Hierarchical DBMS의 문제점을 개선하기 위해 등장(1970년대)
- 하위에 있는 구성원끼리도 연결된 유연한 구조
- 망형 DBMS를 잘 활용하려면 programmer가 모든 구조를 이해해야만 program 작성 가능
- 지금은 사용 X
관계형(Relational)
- 현재 대부분의 DBMS가 RDBMS 형태로 사용
- 키와 값들의 관계
- Table이 최소단위로 구성, Table은 column + row 구성
- DB를 만들거나 이용하기가 다른 DBMS에 비해 쉽고 확장이 용이
객체지향형(Object-Oriented)
NoSQL database
> RDBMS의 구조 및 용어
Relation
- 같은 성격의 data들의 집합
- 흔히 table 용어와 같은 의미로 공식적이고 이론적인 용어
- data를 tuple과 attribute로 데이터를 정렬하여 관리
Relation Instance
Tuple
- Relation을 구성하는 각각의 행
- Tuple은 attribute의 모임으로 구성
cardinality
Attribute(속성)
- 하나의 열
- column과 같은 의미의 용어, 공식적이고 이론적인 용어
degree
Relation Schema
Domain
- 하나의 Attribute가 취할 수 있는 같은 타입의 원자값들의 집합, 실제 Attribute 값이 나타날 때 그 값이 적절한지 여부 검사
SQL command Line
SQL(Structured Query Language)
로그인
conn system/oracle
화면 정리
clear screen
권한 설정
grant connect, resource unlimited space to kh11
- connect
drop user testuser;
1521 2080
Oracle SQL Developer
DB 접속
control + enter : 해당명령줄 실행
\
- github에선 폴더 생성 X(file 생성 후 /입력 ex database/
- markdown
- github 저장소에 새로운 파일이 업로드 되면 pull을 해주어야만 push할 수 있다.
\
새로만들기 - sql
테이블
> Table(테이블)
- Data가 저장되는 객체(Object)
- 표 형태
- 항목, ex)순위, 이름, 골, ...
- data type(숫자, 문자), 크기 설정
숫자 자릿수
한글 2-7
create table attendance(
no number(10),
name varchar2(21),
phone char(13)
);
- ROLLBACK: 현재까지의 작업내용을 무효화
- COMMIT: 현재가지의 작업내용을 최종저장
숫자는 default 크기로 8byte 38자리, 애매할 땐 적지 않는다
문자열은 반드시 byte로 표시
입력 DATA 검열
> NOT NULL
> UNIQUE
> CHECK
함수
MOD(PERIOD, 30) = 30
IN
REGEXP_LIKE(,)
> PRIMARY KEY
NOT NULL + UNIQUE
> SEQUENCE
CREATE SEQUENCE ITEM_SEQ;
ITEM_SEQ.NEXTVAL
Markdown