국비지원교육 Day18

두윤기·2023년 1월 20일
0

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

  • Table의 data 전체

Tuple

  • Relation을 구성하는 각각의 행
  • Tuple은 attribute의 모임으로 구성

cardinality

  • Tuple 들의 수

Attribute(속성)

  • 하나의 열
  • column과 같은 의미의 용어, 공식적이고 이론적인 용어

degree

  • Attribute의 수

Relation Schema

  • Attribute 이름들의 집합

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)
  • 표 형태

Table Header(schema)

  • 항목, 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

profile
programmerD

0개의 댓글