본문 바로가기

데이터베이스설계

(7)
[데이타베이스설계] E-R-Model 7-1) 디자인 단계 (Design phases) 7-2) ERD (Entity Realationship Model) 7-3) Cardinality Constraints 7-4) 전체, 부분 참여 (Total and Partial Participation) 7-5) 약한 개체 (Weak Entity Sets) 7-6) UML (Unified Modelling Language) 7-1) 디자인 단계 (Design phases) 초기단계 (Initial phase) 데이터베이스 사용자 관점에서의 데이터 요구를 완벽하게 characterize(특성화) 짓는다. 두 번째 단계 (Second phase) data model을 고른다. 데이터베이스 개념 스키마에 요구사항을 변환하여 넣는다. 개념 스키마를 완전히 개..
[데이타베이스설계] Intermediate SQL 6-1) Natural join 6-2) Inner join 6-3) Outer join 6-4) View 6-5) Authorization 6-1) Natural join join 연산자는 두개의 relation(테이블)에서 match되는 튜플들을 Cartesian product로 결합하기 위한 연산자이다. join에는 3가지 type이 존재한다. - Natural join - Inner join - Outer join 이 중 먼저 Natural join에 대해서 알아본다. Natural join은 두 테이블의 모든 column들을 조사하여 그 중 공통되는 공통 속성(column)을 찾는다. 그 후 두 테이블의 공통 속성을 서로 비교하여 match되는 row들을 copy한다. (* 이때 중복 Colum..
[데이타베이스설계] SQL (3) 5-1) EXISTS 절 5-2) 삭제 Delete 5-3) 삽입 Insert into 5-4) 수정 Update 5-1) EXISTS 절 exists절은 관련된 nested 쿼리의 결과가 empty인지 아닌지 판단할때 사용된다. (True / False 를 반환한다.) SELECT, UPDATE, INSERT, DELETE절에 사용될 수 있다. 5-2) 삭제 Deletion 데이터베이스에서의 수정은 Deletion, Insertion, Update로 이루어질 수 있다. 먼저 삽입, Deletion에 대해 살펴본다. Where절의 조건식을 만족하는 하나 혹은 두개 이상의 레코드를 삭제할 수 있다. (* 만약, Where절을 생략하고 DELTE절을 사용하면 모든 레코드를 삭제하여 Table이 empty가 ..
[데이타베이스설계] SQL (2) 4-1) SQL에서의 집합 연산자 4-2) Aggregate 함수 4-3) Nested Subqueries 4-4) Set 4-1) SQL에서의 집합 연산자 SQL에서는 집합 연산자를 제공한다. 이들은 다른 특수 조건에 대해서 의미있는 데이터 결과를 얻기위해 사용된다. 기본적으로 집합 연산자로부터 나온 결과는 중복 결과를 자동적으로 제거한다. 중복결과를 얻으려면 뒤에 all을 붙인다. - UNION - UNION ALL (중복결과 허용) - INTERSECT - INTERSECT ALL (중복결과 허용) - EXCEPT - EXCEPT ALL (중복결과 허용) Union operation 두개 혹은 그 이상의 SELECT문의 결과를 결합하기 위해 사용된다. 하지만 중복된 행은 결과에서 제거한다. unio..
[데이타베이스설계] SQL (1) 3-1) SQL에서의 Language 3-2) 무결성 제약조건 3-3) SQL 문과 SQL 문 사용방법 3-1) SQL에서의 Language DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language) TCL (Transaction Control Language) DDL (Data Definition Language) - DDL은 데이터 구조, 특히 데이터베이스 스키마를 정의하기 위한 컴퓨터 프로그래밍 언어와 유사한 구문이다. DML (Data Manipulation Language) - 데이터베이스에서 튜플을 삽입, 수정, 삭제하고 정보들을 query할 수 있는 기능을 제공한다. Integrity -..
[데이타베이스설계] 관계형 모델 2-1) 관계형 모델 2-2) 관계형 데이터베이스에서의 Operation 2-3) 관계형 데이터베이스의 Algebra 2-1) 관계형 모델 관계형 모델은 구조와 language를 사용하여 데이터를 관리하기 위한 접근이다. - 모든 데이터는 관계들로 그룹화된 tuples로 표현된다. - 관계형 모델로 조직화된 데이터베이스를 관계형 데이터베이스라고 한다. 관계형 모델의 목적은 데이터와 query를 명시하기 위한 선언 함수를 제공하는 것이다. - 사용자는 데이터베이스에 포함된 정보와 사용자가 원하는 정보를 직접 명시하고 데이터베이스 관리 시스템 소프트웨어가 데이터저장을 위한 데이터 구조를 설명하고 query에 응답하기 위한 검색 절차를 수행하도록 한다. Tables - 관계형 모델에서 관계들은 table형식으..
[데이타베이스설계] 데이타베이스 1-1) DBMS 1-2) View of Data 1-3) 데이터베이스에서의 Language 1-4) 데이터베이스 엔진 1-5) 데이터베이스 구조 1-1) DBMS (Database Management System) DBMS는 database를 create하고 manage 하기위한 software이다. DBMS는 user와 프로그래머에게 data를 create(생성), retrieve(검색), update(수정), manage(관리) 하기 위한 체계적인 방법을 제공한다. DBMS는 end user (application 프로그래머) 에게 database에서 data를 CRUD 할 수 있게한다. * CRUD : create, read, update, delete (생성, 읽기, 수정, 삭제) DBMS는 e..