410 likes | 574 Views
데이터베이스 실습. 전북대학교 바이오메디컬공학부. INDEX. 1. 데이터베이스의 개요 2. 모델의 종류 3. 관계형 모델과 객체 지향형 데이터베이스 SQL 이란 무엇인가 ? MySQL. 데이터베이스의 개요. 정보 , 데이터 그리고 데이터베이스. 정보란 ? - 시스템이 개인이나 단체의 요구를 처리하는데 있어서 중요하다고 인식되는 모든 지식 - 개인이나 단체가 의사 결정을 내리는데 필요한 모든 지식 데이터란 ?
E N D
데이터베이스 실습 전북대학교 바이오메디컬공학부
INDEX 1. 데이터베이스의 개요 2. 모델의 종류 3. 관계형 모델과 객체 지향형 데이터베이스 • SQL이란 무엇인가? • MySQL
정보, 데이터 그리고 데이터베이스 • 정보란? • - 시스템이 개인이나 단체의 요구를 처리하는데 있어서 중요하다고 인식되는 모든 • 지식 • - 개인이나 단체가 의사 결정을 내리는데 필요한 모든 지식 • 데이터란? • - 지구상에 존재하는 모든 객체들의 개념, 사상, 명령 등을 표현한 것으로 인간, 또는 • 기계가 감지할 수 있도록 숫자, 문자, 기호 등을 이용하여 형식화한 것 • 데이터베이스란? • - 어느 한 조직의 여러 응용 시스템들이 공용할 수 있도록 통합, 저장된 운영 데이터 • 의 집합
데이터베이스의 네 가지 만족 조건 • 1. 통합된 데이터(Integrated data) • - 데이터베이스는 동일한 데이터가 중복되어 있지 않다는 것을 의미 • - 최소한의 중복 또는 통제된 중복을 허용 • 2. 저장 데이터(Stored data) • - 데이터베이스는 컴퓨터가 접근 가능한 자기테이프나 디스크와 같은 저장 매체에 • 저장된 데이터 • 3. 운영 데이터(Operational data) • - 데이터베이스는 어떤 한 조직의 고유 기능을 수행하기 위해 반드시 필요한 데이터 • 4. 공용 데이터(Shared data) • - 데이터베이스는 어느 한 조직의 여러 응용 프로그램들이 공동으로 소유하고 유지 • 하며, 이용하는 데이터
데이터베이스의 특성 • 1. 실시간 접근성(Real-time accessibility) • - 데이터베이스 내의 데이터들은 상호 밀접한 관계로 연결되어야 하고 중복 데이터 • 를 배제하여 데이터베이스를 구축 • - 실시간 처리가 가능하도록 하여 질의에 대한 즉각적인 응답 가능 • 2. 계속적인 변화(Continuous evolution) • - 데이터베이스는 항상 급변하는 현실 세계를 반영하기 때문에 계속적인 변화 필요 • 3. 동시 공유(Concurrent sharing) • - 서로다른 목적이 다른 사용자들이 같은 시간에 같은 데이터 접근이 가능 • 4. 내용에 의한 참조(Content reference) • - 데이터베이스의 데이터 참조는 사용자가 요구하는 데이터 값에 따라 참조
데이터베이스의 특성 • 실제 값들인 개체 값들이 모여 데이터베이스를 구성 하나의 개체는 한 개 이상의 속성으로 구성되며 각 속성은 그 개체의 특성이나 상태를 반영 속성 개체이름 속성의 이름으로만 기술된 개체의 정의 학적 테이블 개체타입 개체어커런스 개체집합 개체 어커런스의 집합 구체화된 개체의 값 개체이름 [ 개체의 구성 ]
데이터베이스의 특성 • 의사 결정에 있어 중대한 역할을 하는 데이터베이스 • - 엄청난 양의 데이터를 관리하기 위해 전산화가 요구되었고, 필요한 정보의 욕구를 • 만족시키기 위해서 데이터베이스가 출현 • 데이터베이스의 구성 요소 • - 표현하려는 유/무형 정보의 객체(object)인 개체(entity)와 그들 간의 관계 데이터베이스 { 개체, 관계 } [ 데이터베이스의 구성요소 ]
데이터베이스의 특성 • 데이터베이스 관리 시스템 (DBMS : DataBase Management System) • - 사용자에게 데이터베이스를 생성하고 유지할 수 있게 해주는 프로그램의 집합 • - 데이터를 관리하고 데이터베이스 데이터를 사용자가 사용할 수 있도록 함 • - DBMS가 없다면 데이터베이스 내의 데이터 검색, 수정, 삭제 등이 불가능함 • 관계형 데이터베이스 시스템의 3가지 특성 • ① 데이터 독립성 • ② 데이터 무결성 • ③ 데이터 일관성
모델의 종류 • 계층 데이터 모델(Hierarchical Data Model) • - 개체와 개체의 관계를 트리 구조로 연결하는 데이터 모델 • - 모든 개체는 복수 개를 가질 수 있으나 부모는 한 개체만 갖게 됨 • - 현실세계에서도 트리 구조를 갖는 업무를 표현하는데 편리함
모델의 종류 • 망 데이터 모델(Network Data Model) • - 개체와 개체 관계를 그래프 구조로 연결하는 데이터 모델 • - 부모를 복수 개 가질 수 있다는 점만 다를 뿐 계층 데이터 모델과 유사함 • - 현실 세계에서도 망구조의 업무를 표현하는데 편리함
모델의 종류 • 관계 데이터 모델(Relational Data Model) • - 모든개체들이 다른 개체들과 직접적인 관계없이 독립적으로 존재하는 데이터 모델 • - 단순한 업무에 적합하며 가장 일반적으로 많이 사용하는 모델 기법
모델의 종류 • 객체지향 데이터 모델(Object-oriented Data Model) • - 복잡한 실세계의 정보 시스템을 효율적으로 모델링하고 구현 • - 더욱 복잡해지는 정보 세계의 객체들을 시스템화하는데 큰 역할 수행
모델의 종류 • 객체관계 데이터 모델(Object Relational Data Model) • - 객체지향 모델의 장점과 관계 모델의 장점이 하나의 시스템으로 통합된 모델 • - 단순한 자료와 복잡한 자료를 함께 잘 처리할 수 있는 데이터 모델
관계형 모델 • RDBMS(Relational DataBase Management System) • - 가장대표적인 데이터베이스 시스템 • - RDBMS의 성공 요인 • ① 모델 자체가 간단해서 설계자와 사용자가 정보 구조를 쉽게 이해할 수 있게 함 • ② 개발시스템의 성능을 수학적으로 미리 예측 가능, 여러 연산에 대한 최적화가 • 가능하여 개발자에게 큰 도움이 됨 • ③ 간단한 질의어로 인해 데이터베이스의 대중화에 크게 기여 • ④ 시대의 흐름에 맞춰 그 시대가 요구하던 기술들을 적극적으로 지원
관계형 모델의 용어 • 관계형 데이터베이스 언어(Relational Database Language) • - 테이블(Table) • - 열(Column) • - 행(Row) • - 무결성 규칙 또는 제한(Integrity rule or constraint) • - 기본 키(Primary key) • - 후보 키(Candidate key) • - 대체 키(Alternate key) • - 참조 키 또는 외래 키(Referential key or foreign key)
테이블(Table), 열(Column), 행(Row) • 테이블(Table) • - 관계 데이터베이스에 데이터를 저장할 수 있는 유일한 형식은 릴레이션(relation) • - SQL에서는 테이블이란 용어를 더 자주 사용함 [ STUDENT 테이블 ]
무결성 규칙 1. 기본 키(Primary key) - 테이블에서유일한 행(row)을 구별할 수 있도록 사용되는 테이블의 열 - STUDENT 테이블에서 stu_no열은 이 테이블을 위한 기본 키 - 두 명의 학생은 동일한 번호를 가질 수 업으며 번호가 없는 학생은 있을 수 없음 [ STUDENT 테이블 ]
무결성 규칙 2. 후보 키(Candidate key) - 기본 키를 대체할 수 있는 하나 이상의 열(칼럼) 또는 열의 조합 - 테이블은 최소한 한 개 이상의 후보 키를 가지고 있음 - STUDENT 테이블에서 각 학생의 stu_name과 stu_ename의 조합키가 유일하다면 이들 열은 후보 키가 되며 이와 같은 두 개의 열을 조합하여 기본 키로 지정 가능 [ STUDENT 테이블 ]
무결성 규칙 3. 대체 키(Alternate key) - 테이블의 기본 키가 아닌 후보 키 - stu_name과 stu_ename의 열은 대체키가 될 수 있음 [ STUDENT 테이블 ]
무결성 규칙 4. 외래 키(Foreign key) - 테이블과 테이블의 관계를 설정해 주는 키 - 부분집합인 모집단으로서 참조 키(referential key)라고도 함 - STUDENT 테이블과 POST 테이블을 조합할 수 있음 [ STUDENT 테이블 ] [ POST 테이블 ]
SQL이란 무엇인가 • SQL(Structured Query Language) • - 관계형데이터베이스 언어 • - 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 • 조정 관리를 위해 고안된 컴퓨터 언어 • - SQL 기본 명령 • ☞ 테이블 생성(create) • ☞ 데이터 입력(insert) • ☞ 데이터 검색(select) • ☞ 데이터 삭제(delete) • ☞ 데이터 수정(update)
SQL 형태 • DML(Data Manipulation Language) • - 데이터를 추출, 저장, 변경, 삭제 등 • - Select, Insert, Update, Delete … • DDL(Data Definition Language) • - 테이블을 생성, 변경, 삭제 등 • - 데이터베이스 구조와 관련된 작업에 사용 • - Create, Alter, Drop … • DCL(Data Control Language) • - 주로 데이터베이스 사용자 권한과 관련 • - 일반적으로 데이터베이스 관리자가 사용 • - Grant …
데이터베이스 종류 • MySQL • Oracle • MS-SQL • Postgress • DB2 • Sybase • Informix • MS-Access
MySQL을 사용하는 이유 1. 작고 빠르다 - MySQL서버는 다른 DBMS에 비해 상당히 빠름 - 빠른 쿼리만을 요구하는 경우에는 MySQL서버를 사용하는 경향이 많음 2. 누구나 쉽게 설치하고 사용할 수 있다 - 다양한 OS를 지원하기 때문에 누구나 쉽게 설치하고 따라할 수 있음 - 윈도우, 리눅스, 솔라리스, MacOS, HP-UX, AIX 등 3. 개발 속도가 빠르다 - GPL(General Public License) 라이선스로 Open source이기 때문에, 전 세계 개발자 누구나 참여 가능 4. 무료로 사용할 수 있으며 보안이 뛰어나다
MySQL설치 1. 서버로부터 설치 파일 다운로드 - 주소 : http://210.117.139.241 2. 바탕화면에 다른 이름으로 저장
MySQL설치 3. 실행 버튼 클릭
MySQL설치 4. 설치 및 Password 설정 - 1234 5. MySQL설치 후 확인하기 ① 윈도우에서 시작하기 [시작] -> [모든프로그램] -> [MySQL] -> [MySQL Server 5.5] -> [The MySQL Command Line Shell] ② 커맨드 창을 이용해서 시작하기 [시작] -> [실행] -> cmd -> mysql –u root -p ※ 시스템 환경 변수 PATH에 MySQL실행 파일 경로를 추가해야 실행 가능
MySQL설치 ※ 시스템 환경 변수 PATH에 MySQL실행 파일 경로 추가
MySQL설치 ※ 시스템 환경 변수 PATH에 MySQL실행 파일 경로 추가
MySQL설치 ※ 시스템 환경 변수 PATH에 MySQL실행 파일 경로 추가
MySQL설치 ※ 시스템 환경 변수 PATH에 MySQL실행 파일 경로 추가 ;C:\Program Files\MySQL\MySQL Server 5.5\bin 입력 ※ 경로를 추가한 후 적용하기 위해 컴퓨터를 재부팅하거나 로그오프
MySQL설치 6. [시작] -> [실행] -> cmd -> mysql –u root –p - -u root는 root 계정으로 로그인 하겠다는 것을 명시 - 필요에 따라 다른 계정으로도 로그인 가능 - -u 옵션으로 사용자를 지정하지 않아도 MySQL이 실행되고 이 경우 MySQL내에서 로그인을 해야 함
MySQL설치 6. [시작] -> [실행] -> cmd -> mysql –u root –p
MySQL설치 6. [시작] -> [실행] -> cmd -> mysql –u root –p