카테고리 없음

DB 기초

SY0809 2021. 2. 16. 11:43
728x90
  • 테이블(Table) 
    • 실제 데이터들이 저장되는 공간 

  • 컬럼(Column) = 어트리뷰트(Attribute) = 속성 = 필드(Field)
    • 테이블에 저장되는 항목 구분자 (세로줄) 

    • 컬럼의 갯수 = 차수
  • 로우(Row) = 레코드(Record)= 투플(Tuple)
    • 데이터가 입력/출력/삭제되는 최소단위 (가로줄)

    • 투플의 갯수  = 카디널리티
  • 도메인(Domain)
    • Attribute 가 가질 수 있는 값의 집합

 

 

  • 릴레이션(테이블)의 특징
    • 속성은 단일 값을 가짐
      • 각 속성의 값은 도메인에 정의된 값만을 가지며 그 값이 모두 단일 값이여야함
      • ex) 도메인이 취미의 집합(운동,독서,산책,게임) 이라면 운동 또는 독서 하나의 값을 가질 수 있음ㅁㅁ
      • 두개의 값을 가지고 싶다면 투플으 하나 더 만들어야 함
      • 속성의 원자성
    • 속성은 서로 다른 이름을 가짐
      • 속성의 무 순서성
    • 한 속성의 값은 모두 같은 도메인 값을 가짐
    • 속성의 순서는 상관없음
    • 투플의 순서는 상관없음
      • 투플의 무 순서성
    • 릴레이션 내의 중복된 투플은 허용되지 않음
      • 투플의 유일성

 

 

  • DDL
    • 데이터 정의어 
    • 테이블이나 고나계의 구조를 생성하는데 사용
    • CREATE , ALTER , DROP
  • DML
    • 데이터 조작어
    • 테이블에 데이터를 검색,삽입,수정,삭제 하는데 사용
    • SELECT, INSERT, DELETE, UPDATE
  • DCL
    • 데이터 제어어
    • 데이터의 사용 권한을 관리하는데 사용
    • GRANT, REVOKE

 

 

 

 

  • 리눅스에서의 MariaDB설치
    • yum install mariadb-server / rpm 을 사용하여 설치
    • systemctl start mariadb
  • 접속방법
    • mysql -u root -p (최초 접속시에는 mysql -u root)
  • 관리자계정 비밀번호 설정
    • use mysql; 
    • update user set password=password('비밀번호') where user ='root';
    • flush privileges; --> 변경된 권한정보(비밀번호)를 적용
    • exit;
  • 데이터베이스 생성
    • create database 이름
  • 데이터베이스 제거
    • drop database 이름
  • 데이터베이스 확인
    • show databaases
  • 데이터베이스 선택
    • use 데이터 베이스
  • DB 의 키
    • 기본키
      • primary key
      • 여러 후보키 중 하라를 선정하여 대표로 삼는키
      • 릴레이션 내 투플을 식별 할 수 있는 고유한 값을 가져야함
      • NOT NULL 과 UNIQUE 값이 기본 설정
      • 키값의 변동이 일어나지 않아야 함
      • 릴레이션 내에서 기본키를 표현할 때는 _____ 을 사용해서 표현 --> 릴레이션이름 (속성1 , 속성2 , 속성3)
    • 외래키
      • 다른 릴레이션의 기본키를 참조하는 속성
      • 다른 릴레이션의 기본키를 참조하여 관계 데이터 모델의 특징인 릴레이션간의 관계를 표현하는데 사용됨
      • 참조 하는(외래키) 참조되는(기본키) 의 양쪽 릴레이션의 도메인은 서로 같아야함
      • NULL, 중복 값이 허용됨
      • 자기 자신의 기본키를 참조하는 외래키도 가능
      • 외래키가 기본키의 일부가 될 수 있음
    • 후보키
      • 투플을 유일하게 식별할 수 있는 속성의 최소 집합
    • 슈퍼키
      • 투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합
  • 테이블 생성과 제약조건 확인
    • create table 테이블이름(조건,조건,조건) --> 테이블 생성
    • drop table 테이블이름 --> 테이블 삭제
    • desc 테이블이름 --> 제약 조건 확인
  • 테이블에 데이터 입력
    • insert into 테이블명('값', '값', 값);
    • 숫자(int)는 '' 없이 사용
  • 테이블에서 데이터 검색
    • select * from 테이블이름 --> 테이블내 모든 투플 검색
    • select * from 테이블이름 where 조건 --> 조건에 맞는 투플 검색
    • % : 정규표현식에서의 * 역할  BETWEEN : 범위 내 검색   IN/NOT IN : 집합으로 검색가능
    • AND, OR , NOT : 복합조건    IS NULL, IS NOT NULL 
  • 테이블에서 데이터 수정
    • update 테이블명 set 속성=''  where 조건
  • 테이블에서 데이터 삭제
    • delete from 테이블명 where '조건' 
  • 테이블 구조 변경
    • alter table 테이블명 조건
    • alter table 테이블명 add 속성명 데이터타입 제약조건 --> 속성 변경
    • alter table 테이블명 modify 기존속성 새자료형 새제약조건 --> 타입 변경
    • alter talbe 테이블명 name 새 테이블명 --> 테이블 이름변경

 

 

DCL