백현미 교수님
-
13일차 - SQL (데이터 조작, DML) (2)CS지식/데이터베이스 2021. 5. 15. 22:36
오늘은 저번시간에 이어 데이터를 조작하는데 쓰이는 DML의 남은 부분에 대해 배웠다. 새로운 데이터 삽입과 데이터 수정, 데이터 삭제를 SQL을 통해 어떻게 하는지 알 수 있었다. 1. 데이터 삽입 : INSERT문 기존에 있는 테이블에 새로운 데이터를 삽입하고자 하려면 INSERT문을 사용하면 된다. INSERT INTO 테이블_이름[(속성리스트)] VALUES (속성값_리스트); INTO키워드와 함께 새로운 데이터를 삽입할 테이블의 이름과 속성의 이름을 입력하면 되고 삽입하고자하는 데이터는 VALUES 뒤에 입력하면 된다. 여기서 속성리스트는 생략이 가능하다. 만약 속성의 이름(속성리스트)를 생략한다면 테이블을 정의할 때 지정한 속성의 순서대로 값이 삽입된다. 예를 들어, 제품명, 단가, 수량을 속성..
-
12일차 - SQL (데이터 조작, DML) (1)CS지식/데이터베이스 2021. 5. 12. 20:47
오늘은 저번 시간에 이어 SQL의 종류 중 하나인 데이터조작기능을 하는 DML에 대해 배웠다. 오늘은 DML 중 데이터 검색을 하는 SELECT에 대해서만 배웠는데 내용이 상당히 많아 이해하는데 시간이 좀 걸렸다. 1. SQL 데이터 조작 기능 SQL에서 데이터를 조작하기 위해서는 DML을 사용하면 된다. 데이터 조작 기능으로는 데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제가 있다. 오늘은 데이터 검색을 하는 SELECT에 대해 자세히 알아보고자 한다. 2. 데이터 검색 : SELECT문 (1) 기본검색 먼저, 기본적으로 사용되는 데이터 검색에 대해 알아보자. SELECT [ALL|DISTINCT]속성_리스트 FROM 테이블_리스트 ; SELECT키워드와 함께 검색하고 싶은 속성의 이름을..
-
11일차 - 데이터베이스 언어 SQLCS지식/데이터베이스 2021. 5. 9. 23:17
오늘은 데이터베이스를 조작할 수 있는 언어인 SQL에 대해 배웠다. 데이터베이스를 만들고 관리하기 위해서는 SQL를 사용해야하기 때문에 필수로 알아야한다. 1. SQL(Structured Query Language) SQL은 관계 데이터베이스를 위한 표준 질의어로 데이터정의어, 데이터조작어, 데이터 제어어가 있다. -데이터 정의어(DDL) : 테이블을 생성하고 변경, 제거하는 기능을 제공한다. - 데어터 조작어(DML) : 테이블에 새 데이터를 삽입하거나 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능을 제공한다. - 데이터 제어어(DCL) : 보안을 위해 데이터에 대한 접근 및 사용권한을 사용자별로 부여하거나 취소하는 기능을 제공한다. 지금부터 데이터 정의어에 대해 자세히 알아보자. 2. 데이터 ..
-
10일차 - 관계 데이터 연산CS지식/데이터베이스 2021. 5. 6. 23:17
지금까지 데이터베이스 모델링과 이상현상을 없애기 위한 정규화에 대해 배웠다. 오늘은 릴레이션끼리 연산을 하거나 하나의 릴레이션에 연산을 하여 원하는 릴레이션을 얻는 관계 데이터 연산에 대해 배웠다. 1. 관계 데이터 연산이란 관계 데이터 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것으로 관계 대수와 관계 해석이 존재한다. 관계 대수는 원하는 결과를 얻기 위해 데이터의 처리과정을 순서대로 기술한 것이고 관계 해석은 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술한 것이다. 정의를 보았을 때는 무엇을 의미하는지 감이 안 올 것이다. 지금부터 관계 대수에 대해 자세히 알아보자. 2. 관계 대수 언어 관계 대수는 위에서 정의한대로 결과를 얻기 위해 릴레이션의 처리과..
-
9일차 - 정규형과 정규화 예제CS지식/데이터베이스 2021. 5. 3. 23:00
오늘은 정규형에 대해 배우고 저번 시간에 배운 정규화를 직접 예제를 통해 해보는 시간을 가졌다. 정규형에서는 3정규형까지만 배워서 BCNF형, 제 4형, 5형에 대해 따로 알아봐야 할 필요성을 느꼈다. 1. 정규화란 (복습) 정규화는 함수 종속성을 이용해 릴레이션을 연관성 있는 속성들로만 구성되도록 분해해서 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어 가는 과정이다. 여기서 릴레이션을 분해할 때 무손실 분해되어야 한다. 무손실 분해가 의미하는 것은 릴레이션이 의미적으로 동등한 릴레이션들로 분해되어야하고 분해로 인한 정보의 손실이 발생하지 않아야한다는 것이다. 또한, 분해된 릴레이션들을 자연 조인하면 분해 전의 릴레이션으로 복원 가능해야한다. 2. 정규형(NF, Noraml Form) 오늘 배운..
-
7일차 - 관계 데이터 모델링: 실습CS지식/데이터베이스 2021. 4. 27. 23:34
오늘은 저번시간에 배운 관계 데이터 모델링에 대한 이론을 바탕으로 실습을 해보는 시간을 가졌다. 5일차 때는 요구사항명세서를 바탕으로 E-R다이어그램을 작성하는 실습을 해봤는데 오늘은 E-R다이어그램을 바탕으로 릴레이션(릴레이션 스키마)를 작성해보는 시간을 가졌다. (지난 5일차 게시글: straw961030.tistory.com/26) 1. 논리적 설계 관계 데이터 모델링은 데이터베이스 설계 5단계 중 3단계에 해당하는 논리적 설계에서 이루어진다. 논리적 설계의 목적은 DBMS에 적합한 논리적 스키마를 설계하고 개념적 스키마를 논리적 데이터 모델을 이용해 논리적 구조로 표현하는 것이다. 논리적 설계의 결과물은 릴레이션 스키마이다. 개념적 설계 단계의 결과물인 E-R다이어그램을 바탕으로 릴레이션 스키마를..
-
6일차 - 관계 데이터 모델링CS지식/데이터베이스 2021. 4. 23. 23:39
오늘은 관계 데이터 모델링에 대해 배웠다. 지난 시간에 배운 개념 데이터 모델링의 결과물인 E-R다이어그램을 토대로 진행되는 것으로 데이터베이스 설계에서는 3단계(논리적 설계)에 해당하는 내용이다. 1. 관계 데이터 모델의 기본개념 관계 데이터 모델은 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델로 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장하는 것이다. 예를 들어 개념 데이터 모델링을 통해 학생이라는 개체가 나왔다면 이 학생이라는 하나의 개체에 대한 데이터를 모아서 릴레이션에 저장한다는 것이다. 릴레이션은 하나의 개체에 대한 데이터를 2차원 테이블 구조로 저장한 것이다. 2차원 테이블이라고 하면 표와 비슷한 구조인데 표는 행과 열로 구성되어 있다. 릴레이션에서는 행을 튜플이라 부르고 ..
-
5일차 - 개념적 데이터 모델링: 실습CS지식/데이터베이스 2021. 4. 20. 22:10
오늘은 저번 시간에 이론적으로 배운 개념적 데이터 모델링에 대해서 실습해보는 시간을 가졌다. 프로그래밍 언어를 통해 실습을 하는 시간은 아니지만 요구사항 명세서를 바탕으로 개념적 모델링을 해보면서 데이터베이스 설계의 초반 단계를 실습할 수 있어 필요한 시간이라고 생각한다. 1. 개념적 설계 저번 시간에 데이터베이스 설계에는 총 5단계로 이루어져 있고 그 중 2단계를 개념적 설계라고 하였다. 개졈적 설계는 1단계인 요구사항 분석의 결과물을 바탕으로 개념적 데이터 모델을 이용해 개념적 구조로 표현하는 것으로 일반적으로 E-R모델을 많이 사용한다. E-R모델을 구성하는 요소인 개체, 관계, 속성 3가지가 key point이다. 개념적 설계는 3단계로 나누어 얘기할 수 있다. 첫번째 단계는 개체 추출과 각 개체..