데이터베이스 개론 - 5 (SQL)

김대한·2022년 9월 28일
0

데이터베이스 개론

목록 보기
5/14

chapter 6 basic SQL

DBMS에서 데이터를 실제로 입력하고 삭제하고 조회하는 SQL에 대해 학습

  • SQL data definition, data type
  • constraints in SQL
  • basic retrieval queries in SQL
  • INSERT, DELETE, UPDATE in SQL
  • additional feature in SQL

Basic SQL

SQL은 데이터베이스를 관리하기 위한 일종의 언어
절차적 언어가 아닌 선언적 언어이기 떄문에 다른 언어에 비해 매우 수월하게 배울 수 있음

Terminology

table(relation) row(tuple), column(attribute) 각 논리 관계 모델에서는 ()로 불림

CREATE 데이터 정의 및 생성

SQL schema

schema name, authorization identifier, descriptors

schema elements

table, constrains, views, domains, and other construct + semicolon

State : CREATE SCHEMA


Jsmith가 권할을 가질 company라는 schema를 가짐 (mySQL에서는 CREATE DATABASE를 사용)

State : CREATE TABLE

위에 생성된 schema를 기반으로 테이블을 생성, 내부에는 constraint에 대한 내용이 들어감

  • table 종류
    - base tables : 기본 테이블
    • virtual relation : 가상의 테이블로 다른 어플리케이션에서 특정 사용자가 보고 싶은 임시 테이블
  • foreign key issue
    - A table이 B table을 조회하는데 아직 만들어 지지 않은 경우
    • A, B table이 상호 참조를 통해 circular references인 경우

Example


test schema가 없으면 character set을 utf8로 하여 만들어라
이후 test schema에 abcTBL 테이블을 만든다
각 attribute에 대한 constraints로
keys는 int이며 null에 될 수 없다.
attr1은 varchar(45)이며 null이 될 수 있다.
primary key는 key이다.


프로젝트라는 테이블은 pname, pnumber, plocation, dnum과 같은 attribute가 존재
프라이버리 키는 pnumber, pname은 unique해야함(primary key가 되지 못한 cadidate key)
dnum은 foreign key이며 department 테이블의 dnumber을 참조 한다.

data type

  • numeric data
    - int, smallint, float, real, double
  • character-string
    - char, charter, varchar, char varying
  • bit string
    - fixed length : BIT(n)
    • varing lenth : BIT VARYING
    • BLOB(binary large object) : 이미지나, 바이너리 파일 등등
  • boolean
  • DATA : 자체 data type

attribute data types and domains in SQL

attribute에 해당하는 domain을 설정 할 수 있으며 type 또한 정의 할 수 있다.

constraints

  • key constraint
  • entity integrity
  • referential integrity
  • default : 디폴트 값 지정
  • null constraint
  • check : 특정 범위안에 있는지 확인 등등
  • primary key clause
  • unique clause
  • foreign key clause
  • keyword constraint : 이름 지정 가능

SELECT

SELECT statement

retrieving information from a database

select <attribute list>
from <table list>
where <condition>
groupby <grouping attribute(s)>
having <grouping condition>
order by <attribute list>

exmaple


Aliasing and Renaming


select에서 이름은 약칭으로 사용할 수 있음


테이블 정의 자체에서 약칭으로 사용할 수도 있음

asteristk (*)

  • 전체를 의미
select *
from employee
where Dno=5

ALL distinct

중복을 허용하지 않음
All의 경우 중복을 허용

select ALL or distinct Salary
from employee
where Dno=5

set operation

UNION, EXCEPT, INTERSECT

like operation : ~와 같은 구조다

arithmetic operation

  • %hoston% : 정확한 위치를 모를 때는 %을 사용
  • __1_123 : 정확한 위치를 알고 있을 때 사용

ordering by

오름차순 내림차순 정렬
DESC, ASC

profile
나는 고양이야 다만 개같을 뿐이지

0개의 댓글