6 장. 데이터베이스언어 SQL SQL 에서의단순질의하나이상의릴레이션을포함하는질의부질의 (subquery) 릴레이션전체를다루는연산데이터베이스변경 SQL 에서릴레이션스키마의정의뷰정의 2

Size: px
Start display at page:

Download "6 장. 데이터베이스언어 SQL SQL 에서의단순질의하나이상의릴레이션을포함하는질의부질의 (subquery) 릴레이션전체를다루는연산데이터베이스변경 SQL 에서릴레이션스키마의정의뷰정의 2"

Transcription

1 6 장 : 데이터베이스언어 SQL Prof. Jin Hyun Son jhson@cse.hanyang.ac.kr Department of Computer Science & Engineering Hanyang University

2 6 장. 데이터베이스언어 SQL SQL 에서의단순질의하나이상의릴레이션을포함하는질의부질의 (subquery) 릴레이션전체를다루는연산데이터베이스변경 SQL 에서릴레이션스키마의정의뷰정의 2

3 SQL 의발전 SQL 발전과정 Sequel System R 프로젝트 (1970 년대중반 ); 추후 SQL 로이름변경 SQL-86, SQL-89 SQL-92 SQL2 라고도불림 SQL-99 표준화진행중에는 SQL3 라고불리었음객체-관계특징, 기타새로운기능들 SQL4 3

4 Example Schema Movie Database Schema Movie (title, year, length, incolor, studioname, producerc#) MovieStar (name, address, gender, birthdate) StarsIn (movietitle, movieyear, starname) MovieExec (name, address, cert#, networth) Studio (name, address, presc#) 4

5 SQL 에서의단순질의 SQL 질의의기본적인형태 한릴레이션에서어떤조건을만족하는튜플들을검색기본적인세개의키워드 : SELECT, FROM, WHERE FROM 절 : 질의의대상이되는하나이상의릴레이션들 WHERE 절 : 튜플이질의결과에포함되기위해만족해야하는조건 SELECT 절 : 결과로생성할애트리뷰트들을기술 ( 예 ) 1990 년 Disney 스튜디오에서제작된모든영화를찾아라. SELECT * FROM Movie WHERE studioname = Disney AND year = 1990; 5

6 SQL 에서의단순질의 ( 계속 ) SQL 에서의프로젝션 릴레이션을일부애트리뷰트들만으로프로젝션 ( 예 ) 1990 년도에 Disney 스튜디오에서제작된모든영화들의제목과 상영시간을찾아라. SELECT title, length FROM Movie WHERE studioname = Disney AND year = 1990; title length Pretty Woman 119 6

7 SQL 에서의단순질의 ( 계속 ) 다른애트리뷰트이름을사용 SELECT title AS name, length AS duration FROM Movie WHERE studioname = Disney AND year = 1990; name duration Pretty Woman 119 SQL 은키워드와애트리뷰트의이름에대해서는대소문자를 구별하지않는다. 단지인용부호안에서만대문자와소문자를 구분한다. 7

8 SQL 에서의단순질의 ( 계속 ) SELECT 절의항목 산술연산자적용가능상수사용가능 SELECT title,length* AS duration, hrs. AS inhours FROM Movie WHERE studioname = Disney AND year = 1990; title duration inhours Pretty Woman hrs. 8

9 참고 : SQL 질의를읽거나 / 작성하는요령 SELECT-FROM-WHERE 질의읽기 FROM 절 어떤릴레이션이사용되는가? WHERE 절 튜플은어떤조건을만족해야하는가? SELECT 절 질의의결과는무엇인가? SELECT-FROM-WHERE 질의작성 읽기와같은순서 FROM 절, WHERE 절, SELECT 절 9

10 SQL 에서의단순질의 ( 계속 ) SQL 에서의선택연산 WHERE 절에선택조건을명시 여섯개의일반적인비교연산자 : =, <>, >, >=, <= 산술연산자 : +, -, * 등문자열의접합연산자 (concatenation operator) SQL 에서문자열은주위에단일인용부호를두어나타낸다. 정수와실수부울값들은논리연산자인 AND, OR, NOT 으로결합가능 10

11 SQL 에서의단순질의 ( 계속 ) ( 예 ) 1970년이후에만들어진모든흑백영화의제목을찾아라. SELECT title FROM Movie incolor는부울타입 WHERE year > 1970 AND NOT incolor ( 예 ) MGM 스튜디오에서제작된영화중 1970 년이후의것이거나상영시간이 90 분이안되는영화의제목을찾아라. SELECT title FROM Movie WHERE (year > 1970 OR length < 90) AND studioname = MGM 11

12 참고사항 SQL 질의와관계대수 SELECT L FROM R Þ p L (s C (R)) WHERE C Keyword 의대소문자 SQL에서 keyword는대소문자구별없음 FROM, from, FrOm: 모두 O.K. 인용부호내에서는구별됨 FROM 과 from 은다른문자열 12

13 SQL 에서의단순질의 ( 계속 ) 문자열비교 문자열비교는사전식 (lexicographic) 순서에기반 ( 예 ) at < bar s LIKE p 간단한패턴부합 (match) 을기반으로한문자열비교 s 는문자열타입애트리뷰트, p 는패턴패턴 : 특수문자인 % 와 _ 을선택적으로가진문자열 % : 0 이상의길이를가진임의의문자열 _ : 임의의한문자 13

14 SQL 에서의단순질의 ( 계속 ) ( 예 ) 제목이 Star 로시작하는영화를모두찾아라. SELECT title FROM Movie WHERE title LIKE Star% /* 결과 : {Star Wars,...} */ ( 예 ) 제목에소유격 ( s) 을갖는모든영화를찾아라. SELECT title FROM Movie 연속된두개의어포스트로피는하나의어포스트로피표시 WHERE title LIKE % s% /* 결과 : {Rogan s Run,...} */ 14

15 SQL 에서의단순질의 ( 계속 ) LIKE 수식에서이스케이프 (escape) 문자 키워드 ESCAPE 와사용하고자하는이스케이프문자 ( 예 ) s LIKE x%%x% ESCAPE x /* % 로시작해서 % 로끝나는모든문자열 */ 15

16 SQL 에서의단순질의 ( 계속 ) 날짜와시간 날짜와시간은특수한데이터타입으로지원 날짜타입 : DATE ( 예 ) 날짜상수 : DATE 시간타입 : TIME ( 예 ) 시간상수 : TIME 15:00:02.5 날짜 + 시간타입 : TIMESTAMP ( 예 ) 날짜 + 시간상수 : TIMESTAMP :00:00 비교연산자를이용하여날짜와시간비교가능 16

17 SQL 에서의단순질의 ( 계속 ) 널 (null) 값 값을정의할수없는경우 알려지지않은값 (value unknown) 값이무엇인지알수없는경우 ( 예 ) 어떤영화스타의생일을모를때 적용불가능한값 (value inapplicable) 적합한값이존재하지않는경우 ( 예 ) MovieStar 에서미혼인영화스타의 spouse 값 두 NULL 값은서로동일한값이아님 17

18 SQL 에서의단순질의 ( 계속 ) NULL에대한연산산술연산자 ( 즉,, + 등 ) 에 NULL을사용 결과는 NULL ( 예 ) x 의값이 NULL 이면, x + 3 은 NULL 비교연산자 ( 즉, = 이나 >) 에 NULL 을사용 결과는 UNKNOWN ( 예 ) x 의값이 NULL 이면, x > 3 은 UNKNOWN 두 NULL 값은서로동일한값이아니다. 18

19 SQL 에서의단순질의 ( 계속 ) NULL 은상수가아니다. NULL 을피연산자로사용할수없음 ( 예 ) NULL + 3, NULL = 5 : 허용안됨 NULL 과관련한프레디키트 IS NULL, IS NOT NULL ( 예 ) 변수 x 의값이 NULL 인지아닌지확인» x IS NULL» x IS NOT NULL 19

20 SQL 에서의단순질의 ( 계속 ) NULL 값이사용된진리표 X y x AND y x OR y NOT x TRUE UNKNOWN UNKNOWN TRUE FALSE FALSE UNKNOWN FALSE UNKNOWN TRUE UNKNOWN TRUE UNKNOWN TRUE UNKNOWN UNKNOWN FALSE FALSE UNKNOWN UNKNOWN UNKNOWN UNKNOWN UNKNOWN UNKNOWN UNKNOWN 20

21 참고 : NULL 과관련해주의할점 NULL 값을가진튜플이있을때의질의결과 WHERE 조건이 TRUE 인튜플만결과에포함 ( 예 ) 다음질의를생각해보자. SELECT * FROM Movie WHERE length <= 120 OR length > 120 모든 Movie 튜플이결과에포함되는것은아님 length 값이 NULL 인튜플» WHERE 조건이 UNKNOWN» 따라서, 결과에포함되지않음 즉, length 가 NULL 이아닌모든튜플을찾아라 21

22 SQL 에서의단순질의 ( 계속 ) 결과의정렬 (ordering) 출력의순서 임의의애트리뷰트의값에기반을둘수있음 정렬된출력 다음의절을추가 : ORDER BY < 애트리뷰트리스트 > 디폴트는오름차순키워드 DESC 를붙이면내림차순 22

23 SQL 에서의단순질의 ( 계속 ) ( 예 ) 1990 년 Disney 에서제작된영화들을, 상영시간이짧은순서로, 상영시간이같을경우, 영화제목의알파벳순서로찾아라. SELECT * FORM Movie WHERE studioname = Disney AND year = 1990 ORDER BY length, title; 23

24 둘이상의릴레이션을포함하는질의 SQL 에서카티션프로덕트와조인 둘이상의릴레이션을결합하는간단한방법 FROM 절에각릴레이션을나열 ( 예 ) Movie (title, year, length, incolor, studioname, producerc#), MovieExec (name, address, cert#, networth) 영화 Star Wars 의제작자의이름과주소를찾아라. SELECT name, address FROM Movie, MovieExec WHERE title = Star Wars AND producerc# = cert# 24

25 둘이상의릴레이션을포함하는질의 ( 계속 ) 애트리뷰트이름의모호성 (disambiguity) 제거 여러릴레이션들을포함하는질의 둘이상의애트리뷰트가같은이름을가질수있다. R.A 의기호를사용 (R; 릴레이션, A; 애트리뷰트 ) ( 예 ) 주소가같은스타와제작자의쌍을찾아라. SELECT MovieStar.name, MovieExec.name FROM MovieStar, MovieExec WHERE MovieStar.address = MovieExec.address 모호성이없는경우에도 R.A 와같이사용가능 25

26 둘이상의릴레이션을포함하는질의 ( 계속 ) 튜플변수 한릴레이션에서서로다른튜플들을지정하고자할때 릴레이션의별명 (alias) 인튜플변수 (tuple variable) 를사용 ( 예 ) 같은주소를가진스타들을찾아라. SELECT Star1.name, Star2.name FROM MovieStar AS Star1, MovieStar AS Star2 WHERE Star1.address = Star2.address AND Star1.name < Star2.name star1.name < star2.name: 동일한스타이름을가진모든쌍이질의결과에포함되는것을방지. 또한같은주소를가진스타들의쌍을단한번만생성하도록해준다. 26

27 둘이상의릴레이션을포함하는질의 ( 계속 ) 여러릴레이션들을포함하는질의의해석 내포된루프 (nested loop) 여러개의튜플변수들이있을때, 각튜플변수에대해루프를갖는중첩루프로생각 27

28 둘이상의릴레이션을포함하는질의 ( 계속 ) LET the tuple variables in the FROM clause range over relations R1, R2,, Rn; FOR each tuple t1 in relation R1 DO FOR each tuple t2 in relation R2 DO... FOR each tuple tn in relation Rn DO IF the where clause is satisfied when the values from t1, t2,, tn are substituted for all attribute references THEN evaluate the attributes of the select clause according to t1, t2,, tn and produce the tuple of values that results. 내포된루프에따른알고리즘 28

29 둘이상의릴레이션을포함하는질의 ( 계속 ) ( 예 ) 영화 Star Wars 의제작자의이름을찾아라. SELECT name FROM Movie, MovieExec WHERE title = Star Wars AND producerc# = cert# 병렬배정 (parallel assignments) 릴레이션에있는튜플들의모든가능한배정을고려즉, ( 임의의순서로 ) 병렬적으로배정된다고생각각배정에대해, WHERE 절이 true 인지판단 WHERE 절이 true 인배정은질의결과로고려즉, SELECT 절의애트리뷰트에사용 29

30 둘이상의릴레이션을포함하는질의 ( 계속 ) 관계대수로의변환 FROM 절의릴레이션들로카티션프로덕트 WHERE 절의조건으로선택연산자적용 SELECT 절의애트리뷰트들로프로젝션 SELECT name, address FROM Movie, MovieExec WHERE title = Star Wars AND producerc# = cert# p name, address (s title = Star Wars AND producerc# = cert# (Movie MovieExec)) 30

31 둘이상의릴레이션을포함하는질의 ( 계속 ) 질의들의합집합, 교집합, 차집합 키워드 : UNION, INTERSECT, EXCEPT ( 예 ) 재산이 $10,000,000 보다많고영화임원인모든여자스타들의이름과주소를찾아라. (SELECT name, address FROM MovieStar WHERE gender = F ) INTERSECT (SELECT name, address FROM MovieExec WHERE networth > ); 31

32 부질의 부질의 다른질의의일부분으로사용된질의 부질의는릴레이션을결과로생성하는수식 WHERE 절에서사용 FROM 절에서사용가능 부질의의결과가단일상수일때 WHERE 절에서다른애트리뷰트와직접비교가능 두개의부질의가하나의질의를형성 UNION, INTERSECT, EXCEPT 32

33 부질의 ( 계속 ) ( 예 ) Los Angeles 에위치한영화회사의사장이제작한 영화의이름과제작연도를찾아라. Movie (title, year, length, incolor, studioname, producerc#) Studio (name, address, presc#) SELECT title, year FROM Movie WHERE producerc# IN (SELECT presc# FROM Studio WHERE address LIKE %Los Angeles% ) 33

34 부질의 ( 계속 ) 스칼라값을생성하는부질의 select-from-where 문에의해하나의값만생성될때 그문장은하나의상수처럼사용될수있다. ( 예 ) Star Wars 의제작자를찾아라. SELECT name single-row SELECT FROM MovieExec (singleton SELECT) WHERE cert# = (SELECT producerc# FROM Movie WHERE title = Star Wars ); 34

35 부질의 ( 계속 ) 릴레이션이비교대상이되는조건 부질의결과가조건에사용 부울값을결과로생성하는프레디키트 EXISTS R R: 릴레이션, s: 스칼라값 R 에튜플이하나라도존재하면 (iff) 참 s IN R s 가 R 에있는값중어느하나와일치하면 (iff) 참 35

36 부질의 ( 계속 ) s > ALL R s 가단항 (unary) 릴레이션 R 의모든값보다크면 (iff) 참 > 연산자대신다른비교연산자사용가능 s > ANY R s 가단항릴레이션 R 의값중적어도하나보다크면 (iff) 참 > 연산자대신다른비교연산자사용가능 EXIST 와 IN 은프레디키트인반면 ALL 과 ANY( 또는 SOME) 은 정량자 (quantifier) 이다. 36

37 부질의 ( 계속 ) 튜플이비교대상이되는조건 SQL 에서하나의튜플은스칼라값들의리스트로표현 (123, foo ), (name,address, networth) 튜플 t 와릴레이션 R 이같은요소들로구성되어있으면, t 와 R 은비교가능 t IN R t <> ANY R 릴레이션 R 의원소와튜플을비교할때, R 의애트리뷰트에대한표준순서에따라애트리뷰트들을비교 37

38 부질의 ( 계속 ) ( 예 ) Movie(title, year, length, incolor, studioname, producerc#) StarsIn(movieTitle, movieyear, starname) MovieExec(name, address, cert#, networth) Harrisonford 가출연한영화제작자의이름을찾아라. SELECT name FROM MovieExec WHERE cert# IN 중복 (duplicates) 없음 (SELECT producerc# FROM Movie WHERE (title, year) IN (SELECT movietitle, movieyear FROM StarsIn WHERE starname = Harrison Ford )); 38

39 부질의 ( 계속 ) ( 예 계속 ) 내포된질의는하나의 select-from-where 문으로변환가능 SELECT name FROM MovieExex, Movie, StarsIn WHERE cert# = producerc# AND title = movietitle AND year = movieyear AND starname = Harrison Ford ; 중복발생가능 FROM 절 : 주질의나부질의에사용된릴레이션들 WHERE 절 : IN 은조인 (Join) 으로대체 39

40 부질의 ( 계속 ) ( 예 계속 ) 중복발생 Harrison Ford Star Wars Steven Spielberg Harrison Ford Indiana Jones Steven Spielberg (H.F., t1, y1) (H.F., t2, y2) (t1, y1, c1) (t2, y2, c1) (c1, n1) StarsIn Movie MovieExec 40

41 부질의 ( 계속 ) 상호관련된부질의 (correlated subquery) 부질의의외부에서선언된튜플변수를, 그내부에서사용하는부질의 ( 예 ) Movie(title, year, length, incolor, studioname, producerc#) 둘이상의영화에사용된영화제목을찾아라.» 제목은같으면서제작연도가다른튜플들 SELECT title FROM Movie AS Old WHERE year < ANY (SELECT year FROM MOVIE WHERE title = Old.title) 애트리뷰트이름에대한영역규칙 (scoping rules) 에주목하라. 41

42 부질의 ( 계속 ) FROM 절에부질의사용 부질의의결과릴레이션으로튜플변수선언이튜플변수를 WHERE 절의조건에사용 ( 예 ) Harrisonford 가출연한영화의제작자이름을찾아라. SELECT Name FROM MovieExec, (SELECT producerc# FROM Movie, StarsIn WHERE title = movietitle AND year = movieyear AND starname = Harrison Ford ) Prod WHERE cert# = Prod.producerC#; 42

43 부질의 ( 계속 ) SQL 조인수식 (Join expressions) 조인수식은그자체가질의일수도있고, 또는부질의로도사용될수있다. CROSS JOIN: 카티션프로덕트 Movie CROSS JOIN StarsIn JOIN ON: 세타조인 Movie JOIN StarsIn ON title = movietitle AND year = movieyear; NATURAL JOIN: 자연조인 MovieStar NATURAL JOIN MovieExec 43

44 부질의 ( 계속 ) FROM 절의조인수식 SELECT title, year, starname FROM Movie JOIN StarsIn ON title = movietitle AND year = movieyear; 44

45 부질의 ( 계속 ) 외부조인 (outerjoin) 허상튜플을결과에추가 * 허상튜플 (dangling tuple): 조인되지못한튜플 조인되지않은경우애트리뷰트들을 NULL 값으로처리 자연외부조인 NATURAL [LEFT RIGHT FULL] OUTER JOIN JOIN ON 을사용한외부조인 [LEFT RIGHT FULL] OUTER JOIN...ON 45

46 부질의 ( 계속 ) ( 예 ) MovieStar(name, address, gender, birthdate) MovieExec(name, address, cert#, networth) MovieStar NATURAL FULL OUTER JOIN MovieExec; name address gender birthdate cert# networth Mary T. Moore Tom hanks George Lucas Maple St. Cherry Ln. Oak Rd. F M NULL 9/9/99 8/8/88 NULL NULL $100 NULL $200 스타지만임원이아닌 ( 예 : Tom hanks), 또는 임원이지만스타가아닌 ( 예 : George Lucas) 사람들에대한정보도함께얻는다. 46

47 부질의 ( 계속 ) ( 예 ) Movie NATURAL LEFT OUTER JOIN MovieExec;» 처음두튜플은결과에포함» 세번째튜플은결과에포함되지않음 ( 예 ) Movie NATURAL RIGHT OUTER JOIN MovieExec;» 처음과세번째튜플은결과에포함» 두번째튜플은결과에포함되지않음 47

48 부질의 ( 계속 ) ( 예 ) Movie FULL OUTER JOIN StarsIN ON title = movietitle AND year = movieyear» On 조건을만족하지않는 Movie 튜플과 StarsIn 튜플들도 NULL 이 적절히사용되어결과에포함 48

49 참고 : SQL 의부울수식에서사용되는프레디키트 기본적인비교프레디키트 : =, <>, <, >, <=, >= LIKE 프레디키트 title LIKE %love% IN 프레디키트튜플값 IN [ 부질의 ( 값1, 값2,, 값n)] IS NULL, IS NOT NULL, IS TRUE, IS FALSE, IS UNKNOWN 단항프레디키트 studioname IS NULL; cost = 100 IS TRUE EXISTS와 UNIQUE 단항프레디키트 EXISTS subquery, UNIQUE subquery ANY( 또는 SOME) 와 ALL: 비교프레디키트와같이사용되는정량자 49

50 릴레이션전체를다루는연산 중복 (duplicates) 제거 SQL 시스템은일반적으로중복을제거하지않는다. 중복제거 : 키워드 DISTINCT SELECT DISTINCT name 중복제거비용 일반적으로비용이크다. 릴레이션정렬 (sorting) 등을이용 DISTINCT 적용시신중할것 50

51 릴레이션전체를다루는연산 ( 계속 ) 합집합, 교집합, 차집합에서의중복 합집합, 교집합, 차집합연산들은기본적으로중복을제거 중복제거방지 : 키워드 ALL R UNION ALL S (SELECT title, year FROM Movie) UNION ALL (SELECT movietitle AS title, movieyear AS year FROM StarsIn); R INTERSECT ALL S R EXCEPT ALL S 51

52 릴레이션전체를다루는연산 ( 계속 ) 집단값 (aggregation) 집단값연산자 집단화값을생성하는다섯개의연산자 COUNT: 값들의개수 SUM: 한열에있는값들의합 AVG: 한열에있는값들의평균 MIN: 한열에있는값중최소값 MAX: 한열에있는값중최대값 52

53 릴레이션전체를다루는연산 ( 계속 ) ( 예 ) SELECT COUNT(*) FROM MovieExec; * 는튜플전체를나타낸다. * 는집단값연산자중 COUNT 에만사용할수있는용법 ( 예 ) SELECT COUNT(DISTINCT name) FROM MovieExec; ( 예 ) SELECT AVG(netWorth) FROM MovieExec; 53

54 릴레이션전체를다루는연산 ( 계속 ) 그룹화 (grouping): GROUP BY 절 어떤열의값에따라튜플들을그룹화 GROUP BY 다음에는그룹화애트리뷰트들을나열한다. SELECT studioname, SUM(length) FROM Movie GROUP BY studioname; 그룹의집단값 그룹화애트리뷰트 집단값을가진 SELECT 절에집단값이아닌상태로기술될수있는애트리뷰트는그룹화애트리뷰트 ( 즉, GROUP BY 절에나열된애트리뷰트 ) 뿐이다. 54

55 릴레이션전체를다루는연산 ( 계속 ) 그룹에대한조건 : HAVING 절 그룹에대한조건기술 집단값의특성을사용 ( 예 ) 1930 년이전에적어도하나의영화를제작한적이 있는제작자에대해, 제작자의이름과 그제작자가 제작한영화상영시간의합계를구하라. SELECT name, SUM(length) FROM MovieExec, Movie WHERE producerc# = cert# GROUP BY name HAVING MIN(year) < 1930; 그룹화애트리뷰트는 HAVING 절에집단값이아닌상태로도사용가능 ( 예 ) name LIKE John% 55

56 릴레이션전체를다루는연산 ( 계속 ) SQL 질의에서절들의순서 SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY WHERE 절 : 조건을만족하는튜플 HAVING 절 : 조건을만족하는그룹 해석순서 WHERE 절을만족하는튜플들만선택이튜플들은 GROUP BY 절에있는애트리뷰트들로그룹화 HAVING 절을만족하는그룹들만선택 56

57 데이터베이스변경 데이터베이스변경 (modification) 삽입 INSERT, DELETE, UPDATE INSERT INTO R(A1,, An) VALUES (v1,, vn); 키워드 INSERT INTO, 릴레이션이름 R, 괄호로묶인애트리뷰트들의리스트키워드 VALUES, 그리고튜플수식 ( 예 ) INSERT INTO StarIn(movieTitle, movieyear, starname) VALUES( The Maltese Falcon, 1942, Sydney Greenstreet ); 57

58 데이터베이스변경 ( 계속 ) ( 예 ) INSERT INTO StarsIn VALUES( The Maltese Falcon,1942, Sydney Greenstreet ); ( 예 ) Movie 릴레이션에는언급되고있지만, Studio 릴레이션에는나타나지않은모든스튜디오를 Studio(name, address, presc#) 릴레이션에추가하라. INSERT INTO studio(name) SELECT DISTINCT studioname FROM Movie WHERE studioname NOT IN(SELECT name FROM Studio); F 추가된튜플의 address 와 presc# 애트리뷰트에는 NULL 값이사용 58

59 데이터베이스변경 ( 계속 ) 삭제 DELETE FROM R WHERE < 조건 >; 키워드 DELETE FROM 릴레이션이름, 예를들어 R, 키워드 WHERE, 그리고조건 ( 예 ) DELETE FROM StarsIn WHERE movietitle = The Maltese Falcon AND movieyear = 1942 AND starname = Sydney Greenstreet ; 59

60 데이터베이스변경 ( 계속 ) 갱신 UPDATE R SET < 새로운값 > WHERE < 조건 >; 키워드 UPDATE, 릴레이션의이름, 예를들어 R, 키워드 SET, 식 (formula) 들의리스트, 키워드 WHERE, 그리고조건 ( 예 ) 영화임원이스튜디오사장인경우 Pres. 라는직함을이름앞에붙여라. UPDATE MovieExec SET name = Pres. name WHERE cert# IN (SELECT presc# FROM Studio); 60

61 SQL 에서릴레이션스키마의정의 데이터정의언어와데이터조작언어데이터정의언어 (DDL: Data Definition Language) 데이터베이스에있는정보의구조를표현 데이터조작언어 (DML: Data Manipulation Language) 질의와변경 61

62 SQL 에서릴레이션스키마의정의 ( 계속 ) SQL 시스템에서사용되는주요데이터타입 INT, INTEGER, SHORTINT FLOAT (or REAL), DOUBLE PRECISION, DECIMAL DECIMAL(n,d) 십진수 n 개, 오른쪽으로부터 d 위치에소수점 ( 예 ) DECIMAL(6, 2): NUMERIC: DECIMAL 과유사 CHAR(n), VARCHAR(n) 고정길이또는가변길이의문자열 62

63 SQL 에서릴레이션스키마의정의 ( 계속 ) BIT(n), BIT VARYING(n) 고정길이또는가변길이의비트열 BOOLEAN TRUE, FALSE, UNKNOWN DATE 와 TIME 특별한형태의문자열 63

64 SQL 에서릴레이션스키마의정의 ( 계속 ) 테이블선언 : CREATE TABLE table-name CREATE TABLE 릴레이션이름 ; 애트리뷰트, 애트리뷰트타입들의리스트 CREATE TABLE MovieStar ( name CHAR(30), address VARCHAR(255), gender CHAR(1), birthdate DATE ); 테이블삭제 : DROP TABLE table-name DROP TABLE R; 64

65 SQL 에서릴레이션스키마의정의 ( 계속 ) 릴레이션스카마의변경 : ALTER TABLE table-name ALTER TABLE 테이블이름, 키워드 ADD, 애트리뷰트이름과데이터타입테이블이름, 키워드 DROP, 애트리뷰트이름 ALTER TABLE MovieStar ADD phone CHAR(16); ALTER TABLE MovieStar DROP birthdate; 65

66 SQL 에서릴레이션스키마의정의 ( 계속 ) 디폴트값 구체적인값이주어지지않았을때는 NULL 값이사용 키워드 DEFAULT 와특정값기술가능 gender CHAR(1) DEFAULT?, birthdate DATE DEFAULT DATE ALTER TABLE MovieStar ADD phone CHAR(16) DEFAULT unlisted ; 66

67 SQL 에서릴레이션스키마의정의 ( 계속 ) 도메인 어떤데이터타입을나타내는새로운이름 도메인정의 : CREATE DOMAIN CREATE DOMAIN < 이름 > AS < 타입기술 >; CREATE DOMAIN MovieDomain AS VARCHAR(50) DEFAULT unknown ; 도메인은애트리뷰트의타입으로사용될수있다. title MovieDomain 67

68 SQL 에서릴레이션스키마의정의 ( 계속 ) 도메인에지정된디폴트값을변경 : ALTER DOMAIN ALTER DOMAIN MovieDomain SET DEFAULT no such title ; 도메인을삭제 : DROP DOMAIN DROP DOMAIN MovieDomain; 68

69 SQL 에서릴레이션스키마의정의 ( 계속 ) 색인 애트리뷰트 A 에대한색인 애트리뷰트 A 에특정값을가지는튜플들을효과적으로찾을수있도록지원해주는자료구조 ( 예 ) B + -tree, 해쉬테이블 색인은 SQL 표준 (SQL-99 까지 ) 에포함되어있지않다. 그러나대부분의상용 DBMS 가색인을지원 69

70 SQL 에서릴레이션스키마의정의 ( 계속 ) 색인의생성 : CREATE INDEX CREATE INDEX < 인덱스이름 > ON < 테이블이름 ( 애트리뷰트리스트 )> CREATE INDEX YearIndex ON Movie(year); CREATE INDEX KeyIndex ON Movie(title, year); 색인의삭제 : DROP INDEX DROP INDEX YearIndex; 색인의장단점 : 질의처리속도가빨라진다. 그러나삽입, 삭제, 갱신연산은복잡해진다. 70

71 SQL 에서릴레이션스키마의정의 ( 계속 ) 색인선택 (Selection of Indexes) 색인이있으면, 질의처리속도향상변경 ( 삽입, 삭제, 갱신 ) 속도저하 질의또는변경의비용 접근하는디스크블록의수 데이터블록접근비용 + 색인블록접근비용 71

72 SQL 에서릴레이션스키마의정의 ( 계속 ) ( 예 ) StarsIn(movieTitle, movieyear, starname) (Q1) SELECT movietitle, movieyear FROM StarsIn WHERE starname = s; (Q2) SELECT starname FROM StarsIn WHERE movietitle = t AND movieyear = y; (I1) INSERT INTO StarsIn VALUES(t, y, s); 72

73 SQL 에서릴레이션스키마의정의 ( 계속 ) ( 예 : 계속 ) 다음과같이가정하자. StarsIn 은 10개의디스크블록에저장평균적으로, 한스타는 3 편의영화, 한영화에는 3 명의스타가출연특정스타나특정영화에대한튜플들 10 개의디스크블록들에분산 즉, 특정영화의 3 튜플들접근 : 3 디스크블록접근 색인읽기 (read): 디스크블록 1 번접근색인변경 (modification) 에는디스크블록두번접근데이터삽입 : 디스크블록 2 번접근적당한디스크블록을찾고, 그블록을다시기록 73

74 SQL 에서릴레이션스키마의정의 ( 계속 ) ( 예 : 계속 ) Q1, Q2, I1 의빈도 Q1: 전체의 p1 % Q2: 전체의 p2 % I1: 전체의 1-p1-p2 % 색인 : 디스크블록 1 번데이터 : 디스크블록 3 번색인 : 디스크블록 2 번데이터 : 디스크블록 2 번 Action Q1 Q2 I1 평균비용 f 1 (Q1)+ f 2 (Q2)+ f 3 (I1) No Index p1+8p2 Star Index p2 Movie Index p1 Both Indexes p1-2p2 질의및삽입에따른비용 10p1+4p2+4(1-p1-p2) 74

75 SQL 에서릴레이션스키마의정의 ( 계속 ) ( 예 : 계속 ) p1, p2 의값에따른비용 p1 = p2 = 0.1 : 삽입이많은경우 2 + 8p1 + 8p2 가최소색인이필요없음 p1 = p2 = 0.4 : 질의 Q1 과 Q2 가많은경우 6-2p1-2p2 가최소두색인모두필요 p1 = 0.5, p2 = 0.1 : 질의 Q1 이많은경우 4 + 6p2 가최소 starname 에대한색인필요 75

76 뷰 CREATE TABLE 문을이용하여정의된릴레이션은실제로 DB 내에존재하는반면, 뷰 (view) 는물리적으로존재하지않는다. 뷰의선언 CREATE VIEW < 뷰이름 > AS < 뷰정의 > < 뷰정의 > 는하나의질의로간주될수있다. CREATE VIEW ParamountMovie AS SELECT title, year FROM Movie WHERE studioname = Paramount ; 76

77 뷰 ( 계속 ) 테이블은물리적으로튜플들이존재하는릴레이션 기본 (base) 테이블또는기본릴레이션이라한다. 저장된 (stored) 테이블또는저장된릴레이션이라고도한다. 뷰는가상 (virtual) 릴레이션이다. 질의처리도중에임시로생성되는릴레이션은임시 (temporary) 릴레이션이라한다. 77

78 뷰 ( 계속 ) 뷰에대한질의 해당튜플들을기본릴레이션으로부터가져온다. 뷰에대한질의를기본테이블에대한질의로변환 뷰정의질의에 AND 로새로운조건추가 SELECT title FROM ParamountMovie WHERE year = 1979; ð SELECT title FROM Movie 뷰 기본테이블 질의변경 (query modification) WHERE studioname = Paramount AND year = 1979; 78

79 뷰 ( 계속 ) 기본릴레이션과뷰를포함한질의 ( 예 ) Paramount 에서제작한영화에출연한스타들을찾아라. SELECT DISTINCT starname FROM ParamountMovie, StarsIn WHERE title = movietitle AND year = movieyear; 여러릴레이션들로정의된뷰 ( 예 ) 영화제목과그영화의제작자로이루어진뷰. CREATE VIEW MovieProd AS SELECT title, name FROM Movie, MovieExec WHERE producerc# = cert#; 79

80 뷰 ( 계속 ) 애트리뷰트이름의변경 뷰에서애트리뷰트들의이름을새로부여할수있다. CERATE VIEW MovieProd(movieTitle, prodname) AS SELECT title, name FROM Movie, MovieExec WHERE producerc# = cert# 80

81 뷰 ( 계속 ) 뷰의변경 뷰는갱신가능 (updatable) 할수도, 가능하지않을수도있다. SQL 에서는, 대체로하나의릴레이션 R로부터정의된뷰에대해서만변경을허용한다. 그리고, 다음을만족해야한다. SELECT 절에는충분한애트리뷰트들이있어야한다. ( 예1) 키애트리뷰트들은 NULL이아니어야한다. NOT NULL 제약을위반해서는안됨. ( 예2) 뷰를통해삽입된튜플은그뷰를통해볼수있어야함 WHERE 절에있는부질의는릴레이션 R을포함해서는안됨. correlated subquery 허용안함 81

82 뷰 ( 계속 ) ( 예 ) 뷰 ParamountMovie 에다음과같은튜플을삽입한다고하자. INSERT INTO ParamountMovie VALUES( Star Trek, 1979) studioname 애트리뷰트가뷰의애트리뷰트에포함되어있지않으므로, 뷰에 삽입되는튜플이 Movie 테이블에반영될때 studioname 값에는 NULL 이 들어간다. 이튜플은 ParamountMovie 의조건을만족하지않는다. 즉, ParamountMovie 뷰에나타나지않는다. 따라서뷰 ParamountMovie 는다음과같이수정되어야한다 : CREATE VIEW ParamountMovie AS SELECT studioname, title, year FROM Movie WHERE studioname = Paramount ; 82

83 뷰정의 ( 계속 ) ( 예 ) 갱신가능뷰로부터튜플을삭제 DELETE FROM ParamountMovie WHERE title LIKE %Trek% ; ( 예 ) 갱신가능뷰에대한갱신 UPDATE ParamountMovie SET year = 1979 WHERE title = Star Trek the Movie ; 뷰의삭제 DROP VIEW ParamountMovie; 83

84 참고 : 뷰의갱신가능성 Movie(title, year, length, incolor, studioname, producerc#) MovieExec(name, address, cert#, networth) CREATE VIEW MovieProd AS SELECT title, name FROM Movie, MovieExec WHERE producerc# = cert#; 다음과같은튜플을뷰 MovieProd에삽입하려한다고하자 : ( Greatest Show on Earth, cecil B. DeMille ) Movie와 MovieExec의키는 NULL이면안된다. 조인이이루어지는애트리뷰트들에 NULL 값이들어간다. 두 NULL 값은동일하지않음에주목하라. 84

85 뷰 ( 계속 ) 뷰를포함하는질의의해석 기본적인개념 : 뷰에대한질의의수식트리를기본테이블에대한질의의수식트리로변환 뷰에대한질의의수식트리 Q 기본테이블에대한질의의수식트리 V W 뷰에대한참조 뷰에대한참조를뷰의정의로대체 (Q: 질의, V, W: 뷰 ) 뷰정의 85

86 뷰 ( 계속 ) CREATE VIEW ParamountMovie AS SELECT title, year FROM Movie WHERE studioname = Paramount ; 뷰 Paramount 에대한질의 π title, year σ studioname = Paramount 이뷰를정의하는질의의수식트리 Movie 86

87 뷰 ( 계속 ) SELECT title FROM ParamountMovie WHERE year = 1979; π title σ year=1979 ParamountMovie π title 질의에대한수식트리 ó year=1979 π title π title, year σ studioname = Paramount σ year=1979 AND studioname = Paramount Movie Movie 기본테이블을사용한질의의수식트리 단순화된질의 87

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

슬라이드 제목 없음

슬라이드 제목 없음 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770> 3.2 관계데이터언어 0709 (1) 관계대수 0703 0705 0703 1) 관계대수정의 1 원하는정보와그정보를어떻게유도하는가를기술하는절차적인방법 0503 2 주어진관계로부터원하는관계를얻기위해연산자와연산규칙을제공하는언어 0503 3 릴레이션조작을위한연산의집합으로피연산자와결과가모두릴레이션이라는특성을가짐 2) 순수관계연산자 0305 관계데이터베이스에적용할수있도록특별히개발된관계연산자

More information

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - QVIZMVUMWURI.pptx 데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

슬라이드 제목 없음

슬라이드 제목 없음 관계데이터모델에서지원되는두가지정형적인언어 SQL 관계해석 (relational calculus) 원하는데이터만명시하고질의를어떻게수행할것인가는명시하지않는선언적인언어 관계대수 (relational algebra) 어떻게질의를수행할것인가를명시하는절차적인어 관계대수는상용관계 DBMS들에서널리사용되는 SQL의이론적인기초 관계대수는 SQL을구현하고최적화하기위해 DBMS의내부언어로서도사용됨

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

PowerPoint Presentation

PowerPoint Presentation Computer Science Suan Lee - Computer Science - 06 데이터베이스 1 06 데이터베이스 - Computer Science - 06 데이터베이스 2 목차 1. 데이터베이스의개요 2. 데이터모델 3. 관계형데이터베이스 4. SQL 5. 모바일데이터베이스 - Computer Science - 06 데이터베이스 3 데이터베이스의개념

More information

Chapter 1: 데이터베이스시스템개관

Chapter 1:  데이터베이스시스템개관 3. 데이터 : 현실세계 vs. 컴퓨터 현실세계 ( 개체 ) 개념세계 ( 개념 ) 컴퓨터세계 ( 데이타 ) 개체 개체타입 레코드타입 특성 속성 필드 값 값 값 값 추상화 추상적 변환 데이타구조의 사실 개념적모델링 개념적표현 데이타모델링 논리적표현 3. : 현실세계 vs. 컴퓨터 현실세계 개체 개념세계 개념적구조 일치성 저장 컴퓨터세계 논리적구조 3.3 데이터모델

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B 8 제장오라클 81 8.1 뷰 8.2 관계 DBMS의시스템카탈로그 8.3 오라클의시스템카탈로그연습문제 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부 뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서,

More information

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드]

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드] Chapter 4 SQL: 데이터정의, 제약사항, 기본질의와갱신 Copyright 2004 Pearson Education, Inc. 목차 4.1 SQL의데이터정의와데이터타입 4.2 SQL에서기본제약조건의명시 4.3 SQL에서의기본검색질의 4.4 SQL에서삽입, 삭제, 갱신문 4.5 SQL의기타기능 Slide 4-2 SQL 역사 System R의언어SEQUEL(Structured

More information

Microsoft PowerPoint - 5 [호환 모드]

Microsoft PowerPoint - 5 [호환 모드] Chapter 5 SQL: 확장된질의, 주장, 트리거, 뷰 Copyright 2004 Pearson Education, Inc. 목차 5.1 더복잡한 SQL 검색질의 5.2 주장으로제약조건및트리거로동작 5.3 SQL에서뷰 ( 가상테이블 ) 5.4 SQL에서스키마변경문 Slide 5-1 5.1 더복잡한 SQL 검색질의 널값비교 중첩질의와집합비교 상관중첩질의 SQL의

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 6. SQL 2013.04.10. 오병우 컴퓨터공학과 SQL 의역사 SEQUEL(Structured English QUEry Language) 에연유 1974 년, IBM 연구소에서발표 IBM 은 'SYSTEM R' 의인터페이스로설계구현 실험적관계데이터베이스시스템인터페이스표준 SQL 1986 년, SQL-86 또는 SQL1 1992

More information

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1)

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1) 데이터베이스 (Database) (Part 1) 문양세강원대학교 IT특성화대학컴퓨터과학전공 관계대수및관계해석강의요약 단항관계연산 : 실렉트와프로젝트 집합이론과관계대수연산 이항관계연산 : 조인과디비전연산 추가적인관계연산 관계대수질의의예 투플관계해석 도메인관계해석 Page 2 관계대수 (Relational Algebra) 데이터모델의구성요소 데이터베이스구조와제약조건의정의

More information

PowerPoint Presentation

PowerPoint Presentation 7. SQL(Structured Query Language) 이장의주요내용 SQL 개요 SQL 에서기본적인검색질의 SELECT... FROM... WHERE 절 SQL 로데이타베이스의내용을변경하는방법 Insert, Update, Delete 문 릴레이션스키마를명시하는 SQL 데이터정의언어 Create 문 제약조건명시 스키마변경 2 SQL(Structured

More information

Microsoft PowerPoint SQL 추가 기능

Microsoft PowerPoint SQL 추가 기능 데이터베이스 (Database) : 주장, 뷰, 프로그래밍기법 문양세강원대학교 IT특성화대학컴퓨터과학전공 강의내용 주장 (Assertions) 으로일반적인제약조건명시 SQL 에서뷰 ( 가상테이블 ) 데이터베이스프로그래밍 내포된 SQL (Embedded SQL) 함수호출, SQL/CLI [ 생략 ] 저장프로시저와 SQL/PSM [ 생략 ] 요약 Page 2 주장

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt . SQL(Structured Query Language) 특징 [ 출제빈도 상 ] 사용자 SQL ) 관계대수와관계해석을기초로한고급데이터언어 ) 이해하기쉬운형태 3) 대화식질의어로사용가능 4) 데이터정의, 조작, 제어기능제공 5) COBOL, C, PASCAL 등의언어에삽입 -> 내장 SQL 6) 레코드집합단위로처리 7) DBMS 에서사용되는비절차적대화형 Language

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 4. 관계데이터베이스 (#1/2) 2013.03.20. 오병우 컴퓨터공학과 관계데이터모델 관계데이터모델 (relational data model) 의탄생 1970 년대 IBM 의 E. F. Codd 에의해제안 Data structure Data manipulation (operation) Data integrity (constrains)

More information

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770> (1) SQL ********************************************************* [ 기-07년5 월] 1. 다음의관계대수문장을 SQL로표현한것으로옳은것 π name, dept( σ year =3 (student)) 가. SELECT name, dept FROM student HAVING year=3; 나. SELECT name,

More information

The Relational Model

The Relational Model The Relational Database 1 관계데이터모델 릴레이션의개념 릴레이션의특성 데이터베이스키 Relational Query Languages SQL 데이터정의문 DB Lab. CUK 1 관계 (Relational) 데이터모델 (1/2) Relational database 란? a set of relations Relation: made up of

More information

슬라이드 제목 없음

슬라이드 제목 없음 Ch. 4 SQL (Sturctured Query Language) 2015.06 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이타베이스 Chap 6. SQL 2014.03.26. 오병우 컴퓨터공학과 SQL 의역사 SEQUEL(Structured English QUEry Language) 에연유 1974 년, IBM 연구소에서발표 IBM 은 'SYSTEM R' 의인터페이스로설계구현 실험적관계데이터베이스시스템인터페이스표준 SQL 1986 년, SQL-86 또는 SQL1 1992 년개정,

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8> 데이터베이스 (Database) ER- 관계사상에의한관계데이터베이스설계 문양세강원대학교 IT특성화대학컴퓨터과학전공 설계과정 [ 그림 3.1] 작은세계 요구사항들의수정과분석 Functional Requirements 데이타베이스요구사항들 FUNCTIONAL ANALYSIS 개념적설계 ERD 사용 High level ltransaction Specification

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

Database Applications - 멀티미디어 데이터베이스 –  제6장  텍스트 색인과 검색 - 데이터베이스시스템 2013. 09. 05 가천대학교 IT 대학 컴퓨터미디어융합학과 목차 4.1 개요 4.2 자료정의 4.3 자료질의 4.4 자료갱신 4.5 스키마변경 4.6 무결성제약조건 4.7 익힘문제 4.1 개요 SQL structured query language 상업용 RDB의표준언어, IBM 설계및구현. SQL1: 86년 ANSI와 ISO의합작

More information

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx 05-01 SQL의소개 SQL을이용한데이터정의 SQL을이용한데이터조작 뷰 삽입 SQL 학습목표 SQL의역할을이해하고, 이를기능별로분류해본다. SQL의데이터정의기능을예제를통해익힌다. SQL의데이터조작기능을예제를통해익힌다. 뷰의개념과장점을이해한다. 삽입 SQL의역할을이해한다. 2 01 SQL 의소개 SQL (Structured Query Language) 의미

More information

Microsoft PowerPoint Predicates and Quantifiers.ppt

Microsoft PowerPoint Predicates and Quantifiers.ppt 이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information

3 장. 관계데이터모델 관계모델 (relational model) 의기초 E/R 다이어그램에서관계설계로의변환서브클래스구조를릴레이션으로변환함수적종속성 (functional dependency) 함수적종속성에관한규칙들관계데이터베이스스키마설계다중값종속성 (multivalue

3 장. 관계데이터모델 관계모델 (relational model) 의기초 E/R 다이어그램에서관계설계로의변환서브클래스구조를릴레이션으로변환함수적종속성 (functional dependency) 함수적종속성에관한규칙들관계데이터베이스스키마설계다중값종속성 (multivalue 3 장 : 관계데이터모델 Prof. Jin Hyun Son jhson@cse.hanyang.ac.kr Department of Computer Science & Engineering Hanyang University 3 장. 관계데이터모델 관계모델 (relational model) 의기초 E/R 다이어그램에서관계설계로의변환서브클래스구조를릴레이션으로변환함수적종속성

More information

슬라이드 제목 없음

슬라이드 제목 없음 5.2 ER 모델 ( 계속 ) 관계와관계타입 관계는엔티티들사이에존재하는연관이나연결로서두개이상의엔티티타입들사이의사상으로생각할수있음 관계집합은동질의관계들의집합 관계타입은동질의관계들의틀 관계집합과관계타입을엄격하게구분할필요는없음 요구사항명세에서흔히동사는 ER 다이어그램에서관계로표현됨 ER 다이어그램에서다이어몬드로표기 관계타입이서로연관시키는엔티티타입들을관계타입에실선으로연결함

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter3. SQL 기초 SQL Server 로배우는데이터베이스개론과실습

More information

SQL

SQL 데이터베이스및 SQL 언어의기초 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 1 / 36 Part I 데이터베이스 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 2 / 36 데이터의구성및표현 개체 (entity): DB가표현하려는유형 / 무형적정보의대상속성 (attribute): 개체가갖는특성도메인

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

Microsoft PowerPoint SQL-99

Microsoft PowerPoint SQL-99 데이터베이스 (Database) : 스키마정의, 기본제약조건, 질의어 문양세강원대학교 IT특성화대학컴퓨터과학전공 데이터베이스강의개요 SQL 의데이터정의와데이터타입 SQL 에서기본제약조건의명시 SQL 에서스키마변경문 SQL 에서의기본질의 더복잡한 SQL 질의 SQL 에서삽입, 삭제, 갱신문 SQL 의기타기능 Page 2 SQL 개요 SQL 의유래 (Wiki)

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter3. SQL 기초 SQL Server 로배우는데이터베이스개론과실습

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

chap x: G입력

chap x: G입력 재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘

More information

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7> 데이터베이스 (Database) 과관계데이터베이스제약조건 문양세강원대학교 IT특성화대학컴퓨터과학전공 강의내용. 관계모델의개념 관계모델제약조건과관계형데이터베이스스키마 갱신연산과제약조건의위반처리 Page 2 & 관계데이터베이스 1970 년 IBM 연구소의 Ted Codd 가처음으로소개 대표적관계 DMBS IBM의 DB2 Informix 의 Dynamic Server

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter2. 관계데이터모델 SQL Server 로배우는데이터베이스개론과실습

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 4. 관계데이터베이스 (#2/2) 2013.03.20. 오병우 컴퓨터공학과 Integrity rule Introduction To inform the DBMS of certain constraints in the real world, so that it can prevent impossible configuration of values

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

statistics

statistics 수치를이용한자료요약 statistics hmkang@hallym.ac.kr 한림대학교 통계학 강희모 ( 한림대학교 ) 수치를이용한자료요약 1 / 26 수치를 통한 자료의 요약 요약 방대한 자료를 몇 개의 의미있는 수치로 요약 자료의 분포상태를 알 수 있는 통계기법 사용 중심위치의 측도(measure of center) : 어떤 값을 중심으로 분포되어 있는지

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

PowerPoint Presentation

PowerPoint Presentation MySQL 한번에끝내기 목차 1. MySQL 소개 2. MySQL 설치 3. SQL 기본 4. SQL 고급 MySQL 한번에끝내기 3 1. MySQL 소개 MySQL 소개 MySQL 은가장널리사용되고있는관계형데이터베이스관리시스템 (RDBMS: Relational DBMS) MySQL 은오픈소스이며, 다중사용자와다중스레드를지원 C 언어, C++, JAVA, PHP

More information

빅데이터 분산 컴퓨팅 -6

빅데이터 분산 컴퓨팅 -6 Hive Data Management Join in Hive 빅데이터분산컴퓨팅박영택 Hive 에서의 Joins Hive 에서서로다른데이터간의 Join 은빈번하게발생 Hive 에서지원하는 Join 의종류 Inner joins Outer joins(left, right, and full) Cross joins( Hive 0.1 이상버전 ) Left semi joins

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 5. 관계대수와관계해석 #1. Relational lgebra 2014.03.18. 오병우 컴퓨터공학과 관계데이터연산 데이터모델 (D) D = S: 구조, O: 연산, C: 제약조건연산과데이터언어 연산 : 시스템입장 데이터언어 : 사용자입장관계데이터언어 ⅰ. 관계대수 (relational algebra) 절차언어

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2)

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2) 데이터베이스 (Database) (Part 2) 문양세강원대학교 IT특성화대학컴퓨터과학전공 관계대수및관계해석강의요약 단항관계연산 : 실렉트와프로젝트 집합이론과관계대수연산 이항관계연산 : 조인과디비전연산 추가적인관계연산 관계대수질의의예 투플관계해석 도메인관계해석 Page 2 관계대수질의의예 (1/7) 질의 1 : Research 부서에서일하는모든사원의이름과주소를검색하라.

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 11 장포인터 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습합니다.

More information

PHP & ASP

PHP & ASP 단어장프로젝트 프로젝트2 단어장 select * from address where address like '% 경기도 %' td,li,input{font-size:9pt}

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

PowerPoint Presentation

PowerPoint Presentation 데이터종속성과정규화 이장의주요내용 데이터의잘못된논리적표현으로인해발생하는이상현 상들 함수종속성 정규화 제 1 정규형, 제 2 정규형, 제 3 정규형, BCNF 제 4 정규형, 제 5 정규형 참고문헌 데이타베이스시스템, 이석호저, 정익사 (chapter 11 장 ), 2005 년 2 데이타의논리적표현 조직체가가지고있는대량의운용데이터를어떻게조직해야효율적으로관리할수있는가?

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

SQL Tuning Business Development DB

SQL Tuning Business Development DB SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based

More information

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC>

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC> 데이터베이스 (Database) 문양세강원대학교 IT특성화대학컴퓨터과학전공 강의내용 관계형데이터베이스스키마설계알고리즘 릴레이션분해와정규형의부족한점 분해와종속성의보존 분해와무손실 ( 비부가적 ) 조인 널값과허상투플이야기하는문제점 다치종속성과제 4 정규형 (4NF) 조인종속성과제 5 정규형 (5NF) 포함종속성 기타종속성과정규화 Page 2 관계 DB 스키마설계알고리즘

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

결과보고서

결과보고서 오픈 소스 데이터베이스 시스템을 이용한 플래시 메모리 SSD 기반의 질의 최적화 기법 연구 A Study on Flash-based Query Optimizing in PostgreSQL 황다솜 1) ㆍ안미진 1) ㆍ이혜지 1) ㆍ김지민 2) ㆍ정세희 2) ㆍ이임경 3) ㆍ차시언 3) 성균관대학교 정보통신대학 1) ㆍ시흥매화고등학교 2) ㆍ용화여자고등학교 3)

More information