본문 바로가기

이론

[DB] 데이터베이스 모델링, E-R 다이어그램 E-R 다이어그램 교수라고 하는 개체 타입의 키는 교수번호이다. relation관계를 지도, 강의, 과목 세 개로 잡아주고 있다. 지도라는 관계는 1:N의 카디널리티를 가진다. 한명의 교수가 여러명의 학생을 지도한다. 교수와 과목은 강의라는 1:N관계를 가지는데, 교수 한명이 여러 과목을 강의할 수 있다. DB강의가 두번 강의 하는 것을 표현하지 않았다. 한 교수가 한 과목을 강의한다로 표현한 거다. 과목은 강의가 한 번만 있어야 한다. 위 시스템은 현 시스템과 맞지 않다. 이렇게 해야 한 강의가 과목이 여러 개 있다는 것을 표현할 수 있다. 기말고사에 , requirement에 따라 E-R다이어그램을 그리고 테이블로 관계형 데이터베이스로 변환하는 것이 50점이다. 다원관계: 두개가 아니라 여러개의 개체.. 더보기
[DB] SQL - (4) View SQL뷰는 기본테이블을 들여다보는 유리창이다. 뷰란, 하나또는 둘이상의 기본테이블로부터 유도되어 만들어지는 가상 테이블이다. with check option : 뷰에 소속되지 않은 데이터 삽입 / 업데이트 / 삭제 못한다. with read only : 기본 테이블의 변경연산이 불가하다. 뷰는 하나의 테이블처럼 사용된다. insert into cstudents (sno, sname, year) values (100, 'Hong', 3); //이것을 삽입시켜보자. create view cstudents (sno, sname , year) as select sno,sname,year from students where dept = '컴퓨터' with check option; with check option .. 더보기
[DB] SQL - (3) 중간고사 이후시간이다. 이제까지 배운것은 대학데이터베이스가 설계되어있을 때의 쿼리문을 작성하는 것이였다. 이제 하반기에는 데이터베이스가 어떻게 만들수 있는지 설계부분에 중점을 둬서 공부를 하게 될 것이다. 데이터베이스 설계도 DBA가 가져야 할 스킬이다. 데이터베이스 갱신에 대한 SQL을 다시 해볼거다. 데이터 갱신은 테이블에 조건에 맞는 튜플에 대해서 애트리뷰트 값을 변경시킬 수 있다. UPDATE 테이블 SET { 열이름 = 산술식 } [ WHERE 조건] ; 하나의 튜플에 대해서 업데이트한 예 UPDATE STUDENT SET year = 2 WHERE sno = 300; 복수의 튜플 변경 UPDATE COUSE SET Credit = Credit + 1 WHERE dept = '컴퓨터'; 부속 질.. 더보기
[DB] SQL - (2) sql문 실행시 내부적으로 튜플이 움직이는 구조를 해석할 수 있어야한다. 구조를 이해하는지 못하는지 테스트 할거다. IN의 부속 질의를 보았다. select s.sname from students s, enrol e where s.sno = e.sno and e.cno = 'C413'; C413의 과목을 등록하지 않은 학생의 이름을 구하라.(JOIN으로 구할 수 없다.) IN, NOT IN , JOIN을 잘 구분하자 (** 중간고사 시험 **) IN은 JOIN이랑 똑같은 의미이다. 정기태학생과 같은과 학생의 이름과 학과를 검색하라. 이것은 조인으로도 가능하다. select s1.sname , s1.dept from students s1, students s2 where s1.dept = s2.dept a.. 더보기
[DB] 데이터베이스 스키마/카탈로그 [ 3단계 데이터베이스 ] 1) 외부 스키마 (external schema, sub-schema) : 집주인 관점 - 개개 사용자 관점에서 정의한 DB 스키마 - 각각의 사용자가 데이터 베이스를 어떻게 보는가를 표현하므로, 사용자마다 생각하는 데이터베이스의 구조가 다르다. - 쉽게 말하면, View 를 의미한다. (겉으로 보이는 Table의 형태이다.) 2) 개념 스키마 (conceptual schema) - 모든 응용에 대한 전체적인 통합된 데이터 구조이다. DB에 저장되는 데이터와 이들의 논리적 구조, 관계를 정의한다. - 보통의 스키마라고 말하는 것이 이 개념 스키마이다. - 어떤 테이블의 속성, 관계와 릴레이션을 정의하는 것이 이 관점에서 바라본 스키마이다. 3) 내부 스키마 : 저장장치 관점 -.. 더보기
[DB] 정보와 데이터베이스, 개체/속성/관계 목차(INDEX) 1. 정보와 데이터 2. 자료처리 시스템의 종류 3. 데이터베이스(database) 정의 4. 통합데이터란? 5. 데이터 베이스의 특성 6. 데이터베이스 시스템이란? 7. 개체란 ? 8. 속성이란? 9. 개체 집합이란 ? 10. 관계란? 11. 데이터베이스의 논리적 구조와 물리적 구조 1. 정보와 데이터 1-1) 데이터의 정의 데이터란, 관찰이나 측정을 통해 수집된 사실이나 값이다. → 데이터를 시간대에 따라 분류하면 정보가 나온다. 1-2) 정보의 정의 정보란, 의사결정을 할 수 있게 하는 데이터의 해석이나 데이터 상호간의 관계이다. 데이터와 정보의 차이점은 이런식으로 볼 수 있다. 정보는 의사결정을 할 수 있게 하는데, 의사결정이란 얘기는 '우리가게가 수요일에 장사가 잘되냐?' 라는.. 더보기
[DB] 데이터베이스 마이그레이션 인트로 안녕하세요. 오늘은 데이터베이스 마이그레이션에 대해 포스팅하겠습니다. 목차 1. 마이그레이션이란? 2. 데이터베이스 마이그레이션이란? 3. PHP기반 라라벨 프레임워크의 MIGRATION 1. 마이그레이션이란? CRUD(Create, Read, Update, Delete)를 잘 수행하려면, 데이터 베이스 테이블 스키마가 잘 정의되어 있어야합니다. 마이그레이션(migration)이란, 한 운영환경으로부터 다른 운영환경으로 옮기는 작업을 뜻합니다. (예, 윈도우 --> 리눅스) 하드웨어, 소프트웨어, 네트워크 등 넓은 범위에서 마이그레이션의 개념이 사용되고 있습니다. 2. 데이터베이스 마이그레이션이란? 데이터베이스에서 데이터 마이그레이션이란, 데이터 베이스 스키마의 버전을 관리하기 위한 하나의 방법(.. 더보기
[DB] DB 스키마 인트로 오늘은 데이터 베이스의 스키마와, 3단계 구조에 대해서 알아보겠습니다. 1) 스키마 정의 2) 데이터 베이스 구조 데이터베이스의 스키마 정의 스키마는, 데이터베이스에 저장되는 구조와 제약 조건을 정의한 것입니다. 스키마에 따라 데이터베이스에 실제로 저장된 값이 인스턴스(instance)입니다. 인스턴스는 저장된 값이므로 자주 변합니다. 그러나, 데이터베이스의 스키마(인덱스의 집합)는 자주 변하지 않습니다. 데이터베이스 구조 데이터베이스의 스키마 구조는 세 단계로 나누어 이해합니다. 각각의 세 단계마다 고유한 기능을 수행합니다. 1) 외부 단계 (external level) : 집주인 관점 각각의 사용자가 데이터베이스를 어떻게 보는가(외부 뷰)를 표현하므로, 사용자마다 생각하는 데이터베이스의 구조가.. 더보기