DB
-
[데이터베이스개론] ch5. 관계 데이터 모델DB 2024. 7. 15. 02:42
관계 데이터 모델의 개념관계 데이터 모델의 기본 용어하나의 개체에 관한 데이터를 릴레이션(relation) 하나에 담아 데이터베이스에 저장relation : 파일 관리 시스템의 파일에 대응하는 개념 속성(attribute)릴레이션의 열파일의 필드에 대응하는 개념튜플(tuple)릴레이션의 행파일의 레코드에 대응하는 개념도메인(domain)속성 하나가 가질 수 있는 모든 값의 집합관계 데이터 모델에서는 더는 분해할 수 없는 원자 값만 속성 값으로 사용가능특정 속성이 가질 수 있는 모든 원자 값의 모임고객 릴레이션에서 등급 속성의 값으로 vip, gold, silver 중 하나만 허용된다면 네 가지 값을 모아놓은 것이 등급 속성의 도메인이 된다. 이렇게 정의해두면 사용자가 속성 값을 입력하거나 수정할 때 데이..
-
[데이터베이스개론] ch4. 데이터 모델링DB 2024. 7. 15. 02:36
데이터 모델링과 데이터 모델의 개념데이터베이스는 현실 세계에 존재하는 수많은 데이터 중에서 조직을 운영하는 데 꼭 필요한 데이터만 선별하여 컴퓨터에 저장한 것 데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정개념적 모델링(conceptual modeling) : 코끼리에 대한 중요 데이터를 추출하여 개념 세계로 옮기는 작업논리적 모델링(logical modeling) : 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업 보통 합쳐서 데이터 모델링이라고 부르고, 데이터 모델링은 데이터베이스 설계의 핵심 과정이다.코끼리 하나를 데이터베이스로 옮기는 일이 쉽지 않았듯, 현실 세계를 데이터베이스로 옮기는 작업은 훨씬 복잡하다. 이러한..
-
[데이터베이스개론] Ch3. 데이터베이스 시스템DB 2024. 7. 15. 02:32
데이터베이스 시스템의 정의데이터베이스 시스템(DBS; DataBase System) : 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해주는 시스템→ 다양한 목적의 정보 처리 시스템을 구축하는 데 필요한 핵심 요소 데이터베이스 : 데이터를 저장해두는 곳데이터베이스 관리 시스템 : 데이터베이스에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 역할데이터베이스 시스템 : 데이터베이스와 데이터베이스 관리 시스템을 이용해 조직에 필요한 정보를 제공해주는 전체 시스템 데이터베이스의 구조스키마데이터베이스에 저장되는 데이터 구조와 제약조건의 정의한 것인스턴스 : 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값 3단계 데이터베이스 구조개별 사용자 관점에서 바라보는 ..
-
[데이터베이스개론] Ch2. 데이터베이스 관리 시스템DB 2024. 7. 15. 02:28
데이터베이스 관리 시스템의 등장 배경과거에는 데이터를 관리하기 위해 파일 시스템이라는 소프트웨어를 사용했다.별도의 구매 비용이 들지 않지만, 응용 프로그램마다 파일을 따로 유지하는 특성 때문에 다음과 같은 문제가 발생했다.같은 내용의 데이터가 여러 파일에 중복 저장된다.데이터가 중복되면 저장 공간이 낭비되고, 데이터 일관성과 데이터 무결성을 유지하기 어렵다.응용 프로그램별로 파일을 유지하므로 같은 데이터가 여러 파일에 저장된다. 즉, 데이터 중복성 문제가 발생한다.응용 프로그램이 데이터 파일에 종속적이다.따라서 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 하는데, 이 특징을 데이터 종속성이라고 한다.응용 프로그램은 파일에 직접 접근하여 데이터를 처리해야 하므로 사용하는 파일의 데이터를 ..
-
[데이터베이스개론] Ch1. 데이터베이스 기본 개념DB 2024. 7. 15. 02:24
1. 데이터베이스의 필요성데이터 : 현실 세계에서 관찰하거나 측정하여 수집한 사실이나 값, 자료정보 : 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 조직한 결과물목장에서 짠 원유가 데이터이고, 고객을 위해 공장에서 가공하여 팩에 담는 우유가 정보입니다. 정보처리 : 데이터에서 정보를 추출하는 과정 또는 방법, 즉 데이터를 상황에 맞게 분석하거나 해석하여 데이터 간의 의미 관계를 파악하는 것 현재성과 정확성을 보장하는 가치 있는 정보를 얻으려면 현재 상황을 정확히 판단하고 측정하여 의미 있는 데이터를 많이 수집해야 합니다.데이터를 많이 수집하는데 그쳐서는 안되고, 수집한 데이터를 효율적으로 저장했다가 필요할 때 언제든지 사용할 수 있어야 합니다.유용하게 활용할 수 있는 정보를 정확히..
-
[혼자 공부하는 SQL] 6장. 인덱스, 복합 인덱스DB 2024. 5. 7. 20:45
인덱스데이터를 빠르게 찾을 수 있도록 도와주는 도구, 책의 찾아보기와 비슷 인덱스의 문제점필요 없는 인덱스를 만들면 데이터베이스가 차지하는 공간이 더 늘어나고, 인덱스를 사용해 데이터를 찾는 것이 전체 테이블을 찾아보는 것보다 느려짐💡 데이터베이스에 인덱스를 생성해도, 인덱스를 사용해서 검색하는 것이 더 빠를지, 아니면 전체 테이블을 검색하는 것이 더 빠를지는 MySQL이 알아서 판단한다. 만약 인덱스를 사용하지 않는다면, 사용하지도 않는 찾아보기를 만든 것이므로 공간을 낭비한 셈이다. 인덱스의 장점과 단점장점적절한 인덱스를 생성하면, 빠른 응답 속도를 얻을 수 있다.적은 처리량으로 요청한 결과를 빨리 얻을 수 있으므로, 시스템 성능이 향상된다.단점인덱스도 공간을 차지하므로 데이터베이스 안에 추가적인 ..
-
[혼자 공부하는 SQL] 5장. 테이블과 뷰DB 2024. 4. 27. 04:09
제약조건의 기본 개념과 종류제약조건(constraint) : 데이터의 무결성을 지키기 위해 제한하는 조건 MySQL에서 제공하는 대표적인 제약조건PRIMARY KEY 제약조건FOREIGN KEY 제약조건UNIQUE 제약조건CHECK 제약조건DEFAULT 정의NULL 값 허용 기본 키 제약조건기본 키(primary key) : 데이터를 구분할 수 있는 식별자기본 키로 지정하면 클러스터형 인덱스가 자동으로 생성된다.테이블은 기본 키를 1개만 가질 수 있다. 따라서 테이블의 특성을 가장 잘 반영하는 열을 선택하는 것이 좋다.mem_id CHAR(8) NOT NULL PRIMARY KEY 외래 키(foreign key) 제약조건두 테이블의 관계를 연결해주고, 그 결과 데이터의 무결성을 보장해주는 역할외래 키가 ..
-
[혼자 공부하는 SQL] 4장. SQL 고급 문법DB 2024. 4. 17. 22:56
MySQL의 데이터 형식 정수형 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128 ~ 127 SMALLINT 2 -32,768 ~ 32,767 INT 4 약 -21억 ~ 21억 BIGINT 8 약 -900경 ~ 900경 UNSIGNED 예약어를 사용하면 값의 범위가 0부터 시작되도록 할 수 있다. 문자형 CHAR : 고정길이 문자형(자릿수 고정) VARCHAR : 가변길이 문자형(자릿수 유동적) 💡 CHAR(10)에 ‘가나다’를 저장해도 10자리 모두 확보, VARCHAR(10)에 ‘가나다’를 저장하면 3자리만 사용 VARCHAR가 CHAR보다 공간을 효율적으로 운영할 수 있지만, MySQL 내부적으로 성능면에서는 CHAR로 설정하는 것이 더 좋다. ⇒ CHAR는 글자의 개수가 고정된 경우, ..