슬라이드 제목 없음

Download Report

Transcript 슬라이드 제목 없음

SQL
정보보호학과
양 계 탁
1
SQL 개요
2
Database
 연관된
데이터들의 집합
 데이터를 쉽게 관리하는 프로그램
종류
관계형 데이터베이스
객체지향형 데이터베이스
계층형 데이터베이스
네트워크 데이터베이스
데이터를 2차원적인 테
이블에 저장하는 형식
: MS SQL 서버
Access
3
사 용 자(User)
필요(Request)
대답(Response)
DBMS(데이터베이스 관리 시스템)
필요(Request)
대답(Response)
데이터베이스(Data File)
4
SQL 이란?
 관계형
데이터베이스
 관계형 데이터베이스에 사용하는 언어
 SQL(Structured Query Language)
 국제표준화 기구에서 관계형
데이터베이스 표준언어로 채택
 데이터의 검색, 입력, 수정, 삭제, 제어,
복구 등의 기능을 제공
5
SQL 역사
6
SQL과 데이타베이스 관리
 DBMS
(데이타베이스 관리 시스템)
 DB를
관리, 운영, 액세스하는 프로그램들의 모임
(종류)
 계층형 DBMS
 네트워크형 DBMS
 관계형 DBMS : 80년대 후반 부터 본격적으로
사용됨

SQL
 관계형
데이타베이스 언어
 국제 표준으로 지정 (ANSI/ISO SQL1, SQL2)
7
SQL 역사(1)
: 관계형 이론이 1970년에 제안된 이후 약 27년 동안 발전
E.F.Codd 박사가 관계형 이론 제안
 1974 - 79 IBM에서 System/R 프로젝트 실시
많은 관계형 기술이 개발됨 (SQL 포함)
 1970

SEQUEL
--->
SEQUEL/2
---> SQL
(70년대 중반) UC 버클리에서 개발
QUEL을 개발하고, 후에
상용 시스템으로 발전
 Oracle (1979) 세계 최초의 상용 관계형 DBMS
 INGRES
8
SQL 역사(2)
(1981)
IBM의 최초의 관계형 DBMS
DB2 (1983)
IBM의 대표적인 관계형 DBMS
 ANSI SQL (1986)
미국 표준 (SQL1)
ISO SQL (1987)
국제 표준 (SQL1)
 ANSI/ISO SQL (1992) 미국/국제 표준 (SQL2)
 SQL/DS
9
SQL 표준안(1)
 ANSI/ISO
표준안
SQL (1986)
미국 표준 (SQL1)
ISO SQL (1987)
국제 표준 (SQL1)
ANSI/ISO SQL (1989) SQL1 확장판
ANSI/ISO SQL (1992) 미국/국제 표준 (SQL2)
ANSI/ISO SQL (199?) SQL3의 발표 예정
 ANSI

기타 SQL 표준안
표준안
 SAA SQL
 X/OPEN
유럽지역 표준안
IBM의 자사 제품 표준안
10
SQL 표준안(2)
 ODBC와
SAG (SQL Acess Group)
연동성에 대한 방안 제시
 SAG의 두번째 표준안을 기반으로 MS사에서
ODBC 제안
 DB
11
SQL 표준안(3)
 이식성에
대한 잘못된 이해
: SQL 표준안에 대한 과장된 선전으로 인해 [그림 31]이 실현 가능하다고 주장된다.
12
SQL 표준안(4)
 이식성의
장애 요소
 오류
코드
 데이타 타입
 시스템 테이블
 대화식 SQL
 프로그램 방식 인터페이스
 동적 SQL
 의미 (semantics) 차이
 정렬 순서
 데이타베이스 구조
13
SQL과 네트워킹(1)
 중앙집중식
구조
: 응용 처리와 DB 처리가 모두 중앙 컴퓨터에서
수행되고, 많은 사용자가 공유하기 때문에
시스템에 많은 부하가 걸린다.
14
SQL과 네트워킹(2)
 파일
서버 구조
: 해당 파일의 모든 블록이 통신 선을 통해 전송되기
때문에 심각한 통신 부하가 발생할 것이다.
15
SQL과 네트워킹(3)
 클라이언트/서버
구조
: 네트워크 통신량을 줄이고, DB의 부하를 분담한다
(전위와 후위 시스템 간의 역할 분담).
16
SQL의 영향(1)
 SQL과
IBM의 SAA
 DB2
 SQL/DS
 SQL/400
 DB2/6000
 DB2/2
미니 컴퓨터에서의 SQL
 UNIX 시스템에서의 SQL
 SQL과 트랜잭션

17
SQL의 영향(2)
개인용 컴퓨터에서의 SQL
 PC LAN상의 SQL

18
SQL 언어(1)
 DB
(DataBase)
 서로

연관이 있는 데이타들의 모임
DBMS (DataBase Management System)
 DB를

관리, 운영, 액세스하는 프로그램들의 모임
SQL (Structured Query Language)
 구조적
질의어
 관계형 DB 언어
 DB에 저장된 데이타를 조직, 관리, 검색하기 위한
도구 (언어)
19
SQL 언어(2)
 DB,
DBMS, SQL의 관계
20
SQL 언어(3)

SQL의 기능
 데이타
정의 - 저장 데이타의 구조와 데이타 항목들
간의 관련성을 정의
 데이타 검색 - 저장 데이타의 검색
 데이타 조작 - 데이타의 삽인, 삭제, 수정
 접근 제어 - 인가되지 않은 사용자의 사용을 제한
 데이타 공유 - 동시 사용자들의 사용을 허용
 데이타 무결성 - 비일관적 갱신, 시스템 고장으로
부터 데이타 훼손을 방지
21
SQL의 역할(1)

SQL의 역할
: DB 엔진과 DBMS utility들을 연결하는 매개체
22
SQL의 역할(2)
 SQL의
역할
대화식 질의어이다
 SQL은 DB 프로그래밍 언어이다
 SQL은 DB 관리 언어이다
 SQL은 분산 DB 언어이다
 SQL은 DB 게이트웨이 언어이다
 SQL은
23
SQL 기능과 장점(1)
 SQL의
주요 기능
: SQL은 이해하기 쉬우면서, 데이타를 관리할 수 있는
포괄적인 도구이다.
 제작사에
독립적 특성
 높은 이식성
 SQL 표준화
 IBM의 지원 (DB2)
 MS사의 참여 (ODBC)
 관계형 이론의 튼튼한 기반
24
SQL 기능과 장점(2)
 SQL의
주요 기능 (계속됨)
 고급
영어문장과 같은 구조
 대화식 질의
 프로그램 방식의 DB 접근
 데이타에 대한 다중 뷰
 완전한 DB 언어
 동적 데이타 정의
 클라이언트/서버 구조
25
특정한 자료형식을 담는
다.
자료의 형태를 미리 결정
필드1
필드2
필드3
레코드1
데이터1
데이터2
데이터3
레코드2
데이터4
데이터5
데이터6
레코드3
데이터7
데이터8
데이터9
…..
…..
…..
…..
필드 -> 레코드 -> 테이블 -> 데이터 베이스
26
MS-SQL 데이터베이스
생성
생성
 Logins 생성
 DB Logins
 Table 생성
 Table Logins
 DB
27
manager를 실행
 DB에서 단축메뉴
 New DB를 실행
 Name란에 DB의 이름 결정
 Security – Logins -> 생성 DB의 사용자 이름
입력, authentication(SQL Server),
PWD입력, Defalt(DB선택), language(Default)
 Database Access탭 : 사용자가 생성DB의
접근 권한 생성
 PWD 확인
 Table 생성
 Table 접근과 추가권한 설정
28
 Enterprise
자 료 형
 문자형(char,
varchar, text)
 숫자형(int, smallint,
tinyint, float, money)
 날짜 데이터형(datetime, smalldatetime)
 2진 데이터형(binary, varbinary, image)
29
문 자 형
데이터형 값의 범위
설
명
데이터의 길이가 짧으면
Char(n) 8KB 까지 나머지 공간은 스페이스
공간으로 채움
데이터의 길이가 짧으면
varchar 8KB 까지
나머지 공간은 없앰
가변형 문자 데이터
text
예
“홍길동
”
“홍길동”
2GB 까지 좀더 많은 문자를 넣을 때 “많은 문자…”
30
숫자형
데이터형
값의 범위
예
-2.17*10^9 ∼ 2.17*10^9
정수데이터
tinyint
0 ∼ 255
작은 단위 숫자
float
-1.7*10^308 ∼ 1.7*10^308
실수데이터
money
-9.22*10^15 ∼ 9.22*10^15
화폐
Int
31
그 외의 데이터형
데이터형
값의 범위
예
datetime
1753/01/01 ∼9999/12/31
May 11,1999 12:00:00.01
smalldatetime 1900/01/01 ∼2079/06/06 May 11, 1999 12:00
binary(n)
8KB까지
varbinary(n)
8KB까지
image
2^31 –1 바이트 까지
32
Select 문
select Field_name1, Field_name2, …
from Table_name1, Table_name2,…
where (조건절)
order by (정렬 조건)
Query 문을 사용하여 DB에서 원하는 자료를
찾아올 때 사용하는 SQL문
select name, number, email, address
from MemberInfo
where number > 0 and number < 10
order by number desc
33
Insert 문
Insert into Table_name(Field_name1,
Field_name2, Field_name3)
values(value1,value2,value3)
Insert 문은 DB의 테이블의 필드에 새롭게 저장하고
자 하는 데이터를 입력시키는 명령문.
value에서 숫자 데이터가 아닌 경우 작은 따옴표(‘)로
둘러준다.
34
Delete 문
delete (from) Table_name where 조건
Delete 문은 DB의 테이블의 자료를 삭제할 때 사용
하는 명령문.
from은 생략 가능하다.
where 다음의 조건을 생략하면 테이블의 모든 자료
가 삭제된다.
35
Create 문
create table Table_name (
Field_name1 Field_type
Field_name2 Field_type
Field_name3 Field_type
)
[not null],
[not null],
[not null],
table을 만들 때 사용하는 SQL문
Table_name 테이블 이름
Field_name 테이블의 필드 이름
Field_type 필드의 자료형
Not null 필드 값이 반드시 있는 경우
36
Drop 문
drop table Table_name
table을 삭제 할 때 사용하는 SQL문
37
질의내 질의
select 출력물 from 테이블
where 조건 = (select … from … where…)
조인(join)
select 출력물
from ( 테이블 join 테이블 on 공통속성 )
where 조건
38
Access 를 SQL 로 전환 방법
DB(Webprogram)에서 단축메뉴
 모든작업-Import Data
 SOURSE(microsoft Access파일)
sourse화일 선택(아이디와
패스워드는 생략)
 destinetion(microsoft OLE DB probider
for SQL server)
 서버는(local), use window NT 선택
39
 Sql
40