810 likes | 987 Views
Database Relational Model. SPARCS’11 undead. What is Database?. Data 정보를 작성하기 위해 필요한 자료 Database 논리적으로 연관된 하나 이상의 자료의 모음 데이터를 잘 정리해두고 , 필요할 때 정리된 정보를 취득하기 위함 DMBS (Database Management System) 데이터를 효과적으로 이용할 수 있도록 정리 / 보관하기 위한 소프트웨어 데이터의 추가 , 변경 , 삭제 , 검색 등의 기능을 집대성한 소프트웨어 패키지
E N D
DatabaseRelational Model SPARCS’11 undead
What is Database? • Data • 정보를 작성하기 위해 필요한 자료 • Database • 논리적으로 연관된 하나 이상의 자료의 모음 • 데이터를 잘 정리해두고, 필요할 때 정리된 정보를 취득하기 위함 • DMBS (Database Management System) • 데이터를 효과적으로 이용할 수 있도록 정리/보관하기 위한 소프트웨어 • 데이터의 추가, 변경, 삭제, 검색 등의 기능을 집대성한 소프트웨어 패키지 • MySQL, PostgreSQL, SQLite, Microsoft SQL Server, Microsoft Access, Oracle 등 • 다수의 사용자 또는 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있게 해주는 역할 SPARCS'11 undead
DMBS Functions • Definition (정의) • 데이터에 대한 형식, 구조, 제약조건들을 명세하는 기능 • Construction (구축) • DBMS가 관리하는 기억장치에 데이터를 저장하는 기능 • Manipulation (조작) • 특정한 데이터를 검색하기 위한 쿼리, 데이터베이스의 갱신, 보고서 생성 기능 등 • Sharing (공유) • 여러 사용자와 프로그램이 데이터베이스에 동시에 접근하도록 하는 기능 • Protection (보호) • 하드웨어나 소프트웨어의 오동작 또는 권한이 없는 악의적인 접근으로부터 시스템을 보호 • Maintenance (유지보수) • 시간이 지남에 따라 변화하는 요구사항을 반영할 수 있도록 하는 기능 SPARCS'11 undead
Database Models • Hierarchical database model • Network model • Relational model • Entity-relationship model • Enhanced entity-relationship model • Object model • Document model • Entity-attribute-value model • Star schema a SPARCS'11 undead
Database Models • Hierarchical database model • Network model • Relational model • Entity-relationship model • Enhanced entity-relationship model • Object model • Document model • Entity-attribute-value model • Star schema 다 필요 없고 일단 Relational model부터 공부합시다 SPARCS'11 undead
Relational Model • Entity • 실체 • 실세계에서 개별적으로 인식될 수 있는 것 • 데이터베이스에 저장되는 데이터의 대상 • Attribute • 어떤 entity에 대해서 관심을 가질만한 가치가 있는 속성 • Relation • 둘 이상의 entity들 간의 관계 SPARCS'11 undead
Relational Model SPARCS'11 undead
Relational Model 한 번 설계해 봅시다. SPARCS'11 undead
Designing KAIST Student DB Student SPARCS'11 undead
Designing KAIST Student DB • 이름 • 학번 • 학과 • 출신고교 • 생년월일 Student SPARCS'11 undead
Designing KAIST Student DB SPARCS'11 undead
Desgning KAIST Student DB • Key • 어떤 entity를 고유하게 만들어주는 attribute(s) • 하나의 필드가 될 수도 있고, 여러 필드의 조합일 수도 있습니다. • null이 될 수 없는 필드여야 함 • Unique해야 함 • Key attribute SPARCS'11 undead
Designing KAIST Student DB • Key가 될 수 있는 필드는? SPARCS'11 undead
Designing KAIST Student DB • Key가 될 수 있는 필드는? SPARCS'11 undead
Designing KAIST Student DB • Key가 될 수 있는 필드는? SPARCS'11 undead
Designing KAIST Student DB Department SPARCS'11 undead
Designing KAIST Student DB • 학과 이름 • 학과 코드 • 창립 년도 • 홈페이지 Department SPARCS'11 undead
Designing KAIST Student DB SPARCS'11 undead
Designing KAIST Student DB Department Student 그렇다면 이 둘의 관계는? - 학생은 학과에 소속되어 있다 - SPARCS'11 undead
include Department Student 샤바칸 cs 찰제 … 만렙물개 id … … SPARCS'11 undead
include Department Student 1 1..n Department Student Department Student SPARCS'11 undead
Designing KAIST Student DB Department Student SPARCS'11 undead
Designing KAIST Student DB Department Student SPARCS'11 undead
include Department Student 1 1..n SPARCS'11 undead
include Department Student 0..1 1..n SPARCS'11 undead
include Department Student 0..1 1..n Department Student Department Student SPARCS'11 undead
include Department Student 샤바칸 cs 찰제 … 만렙물개 id … 김영석 msb … SPARCS'11 undead
include Department Student 0..1 1..n SPARCS'11 undead
include Department Student 0..n 1..n SPARCS'11 undead
include Department Student 0..n 1..n Department Student Department Student SPARCS'11 undead
Designing KAIST Student DB Department Student SPARCS'11 undead
Designing KAIST Student DB Department Student SPARCS'11 undead
Designing KAIST Student DB Student SPARCS'11 undead
Designing KAIST Student DB Student Scenario: 어떤 신입생이 들어옵니다. 이 사람은 오로지 DB에 트롤링을 하려는 목적으로 카이스트의 모든 학부 프로그램을 복수전공과 부전공을 적절히 섞어서 신청합니다. SPARCS'11 undead
Designing KAIST Student DB Student 어엌ㅋㅋㅋㅋㅋ닝겐노 모래시계와 강려크데스네 SPARCS'11 undead
Department-Student Department Student SPARCS'11 undead
Department-Student Department Student SPARCS'11 undead
Department-Student Department Student SPARCS'11 undead
ERD SPARCS'11 undead
Entity Relation Diagram SPARCS'11 undead
foundation dep_name std_number std_name dep__id homepage Department Student include SPARCS'11 undead
schema SPARCS'11 undead
Department Student include SPARCS'11 undead
?! Department Student include SPARCS'11 undead
?! Department Student include SPARCS'11 undead
Department Student include SPARCS'11 undead
MySQL • Structured query language / 구조화 질의어 • 특정한 DB 시스템에 한정되지 않아 널리 사용됨 • Functions • Query • Data definition • Manipulation SPARCS'11 undead
$mysql [–h host] [–u user] [–p[password]] [dbname] $mysql -u zzongaly -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 to server version: 3.23.34a Type 'help;' or '\h' for help. Type '\c' to clear the buffer mysql> SPARCS'11 undead
>mysql [–h host] [–u user] [–p[password]] [dbname] >mysql -u zzongaly –ppassword Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 to server version: 3.23.34a Type 'help;' or '\h' for help. Type '\c' to clear the buffer mysql> SPARCS'11 undead
mysql> show databases; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec) SPARCS'11 undead