전체 글 98

Logical Data Model and Relational Database

Types of Logical Data Model 논리적 데이터 모델은 컴퓨터에 저장할 데이터 구조를 논리적으로 표현하는 도구 계층형 모델(Hierarchical Model), 네트워크형 모델(Network Model), 관계형 모델(Relatonal Model)이 있음 최근에는 객체지향 기술(Object-Oriented Technology)을 도입한 데이터 모델인 객체지향형 모델(Object-Oriented Model) 등장 이 모델들은 현실 세계의 개체들이 데이터베이스에 어떤 형태로 저장될 것인가 하는 논리적인 구조를 표현해 줌 이 논리적 데이터 모델은 데이터베이스 시스템 개발 과정 중에 물리적인 데이터베이스 구조로 변환되어 구축되게 됨 Hierarchical Model 계층형 모델과 네트워크형 모델..

DB/DBI 2024.01.04

Conceptual Data Modeling Basics

개념적 데이터 모델링(Conceptual Data Modeling)은 개체-관계 모델링(Entity-Relationship Modeling) 기법을 이용하여 업무요구사항의 개념적 모델을 생성하는 단계 업무상 알 필요가 있거나 보관한 필요가 있는 중요한 데이터와 각 데이터 간의 관계를 정의하고 모델링함 Conceptual Data Model 데이터베이스 설계 과정에서 우리는 현실 세계에 존재하는 무수히 많은 개체(entity)들 중 데이터베이스에 저장할 대상들을 추출하여 이를 추상화 시킨 개념으로 표현하게 됨 이 과정을 개념적 모델링(Conceptual Modeling)이라고 함 가장 대표적인 개념적 데이터 모델은 개체-관계 모델(Entity-Relationship Model) Logical Data Mo..

DB/DBI 2024.01.04

Database System Concepts

Data 모든 조직은 어떤 정보를 필요로 함 이러한 정보의 조각들을 데이터라고 부름 데이터는 다양한 형식으로 다양한 형태의 매체에 저장될 수 있음 Database 데이터베이스는 정보의 조직화된 집합체 데이터베이스에는 조직의 운영을 위해 필요한 데이터들이 통합되어 디스크와 같은 저장 매체에 저장되어 있음 조직의 여러 사용자들이 다양한 목적으로 데이터베이스의 데이터를 공유하여 사용할 수 있음 데이터베이스의 기능 정의 : 데이터 유형, 구조 및 데이터에 대한 제약조건을 명시하는 기능 구축 : 어떤 저장 매체에 데이터 자체를 쌓는 기능 조작 : 데이터를 검색, 삽입, 갱신, 삭제하는 기능 데이터베이스의 기능 구현방법 File Processing System 파일 처리 시스템은 데이터에 관한 조작을 모두 응용 프..

DB/DBI 2024.01.04

PROCEDURAL LANGUAGE

IF 문 ELSIF 는 한 단어임 END IF 는 두 단어임 조건이 TRUE 이면 관련된 문장 실행 조건이 FALSE 이거나 NULL 이면 관련된 문장 통과 ELSIF 절은 여러 개 가능 ELSE 절은 한 개만 가능 무한 Loop문 LOOP 와 END LOOP 사이의 문장을 반복 처리함 문장이 END LOOP 에 도달하면 다시 LOOP 문장으로 돌아감 LOOP 의 제한이 없으므로 EXIT 문을 사용하여 LOOP 를 벗어남 For Loop 문 INDEX 값이 최소값에서 시작하여 1씩 증가하여 최대값이 될 때까지 LOOP 를 돔 INDEX 는 내부적으로 선언되는 INTEGER TYPE 의 변수며 1씩 증가됨 정해진 횟수만큼 반복 처리함

사용가능한 SQL 문장

Select … into … 문 PL/SQL BLOCK 에서 사용되는 SELECT 문장에는 INTO 절이 추가됨 INTO 절은 SELECT 한 COLUMN 값을 변수에 저장함 SELECT 결과는 1 개가 나와야지 1 개도 없던가 여러 개가 나오면 ERROR 발생 INTO 절의 변수는 RECORE TYPE 의 변수를 사용할 수 있음 Select exceptions NO_DATE_FOUND : SELECT 된 결과가 없을 때 TOO_MANY_ROWS : SELECT 된 결과가 2개 이상일 때 SELECT 문장은 1개의 ROW 만 검색되어야지 그렇지 않으면 ERROR 발생 ERROR 가 발생하면 PL?SQL BLOCK 을 종료함 DML 문 INSERT USER, SYSDATE FUNCTION 사용 SEQUEN..

변수선언

Scalar 변수 선언 💡 PL/SQL BLOCK 에서 필요한 변수 선언 %type attribute COLUMN 값을 저장시킬 변수는 COLUMN 과 같은 TYPE 과 크기를 가져야 함 COLUMN 의 TYPE 을 모를 때, TABLE 의 구조가 바뀌어서 COLUMN 의 정의가 바뀌었을 때, %TYPE 사용하면 편리함 변수의 TYPE 을 TABLE 의 COLUMN 과 같은 TYPE 으로 선언함 Table type 변수 선언 TABLE TYPE 은 DATABASE 의 TABLE 과 같지 않음 TABLE TYPE 은 1 차원 배열과 같음 배열의 크기를 지정하지 않음 Record type 변수 선언 RECORD TYPE 은 DATABASE TABLE 의 ROW 와 같지 않음 RECORD TYPE 은 3GL ..

권한

System 권한 부여 SYSTEM 권한은 80 가지가 있음 이 중에서 사용자들의 LEVEL 에 맞게 적절한 권한을 부여함 SYSTEM 권한은 DBA 가 부여함 사용자에게 SYSTEM 권한을 부여함 Role 생성 ROLE 은 사용자나 다른 ROLE 에게 부여할 수 있는 권한의 집합 DBA 가 ROLE 을 만들고 ROLE 에게 SYSTEM 권한 부여 사용자가 OBJECT 권한을 ROLE 에게 부여 이렇게 만들어진 ROLE 을 DBA 가 사용자에게 부여 CONNECT, RESOURCE. DBA ROLE 이 제공됨 with Admin option 💡 SYSTEM 권한은 DBA 만 부여할 수 있으나 WITH ADMIN OPTION 을 붙여서 SYSTEM 권한을 부여받은 사용자는 자신이 받은 SYSTEM 권한을 ..

Index

Index 생성 💡 TABLE 생성 시 PRIMARY KEY 나 UNIQUE CONSTRAINT 를 지정하면 UNIQUE INDEX 가 자동적으로 만들어짐 COLUMN 이 WHERE 절이나 JOIN 조건식에 빈번하게 사용될 때 COLUMN 값이 넓게 분포되어 있을 때 COLUMN 값에 NULL 값이 많이 포함되어 있을 때 TABLE 이 크고 QUERY 하는 데이터 양이 10% 이하일 때 Index 삭제 💡 INDEX 는 수정할 수 없음 수정하고 싶은 경우 삭제하고 다시 생성

VIEW

Simple view SUBQUERY 문장이 간단한 경우 VIEW 를 통해 SELECT, INSERT, UPDATE, DELETE 를 할 수 있음 SELECT : SUBQUERY 의 조건식을 만족하는 데이터만 검색 INSERT : NOT NULL COLUMN 을 다 포함하고 있는 경우 INSERT 를 할 수 있음 SUBQUERY 의 조건식을 만족하지 않는 데이터도 입력 가능 UPDATE : VIEW 를 통해 SELECT 할 수 있는 데이터만 수정할 수 있음 SUBQUERY 의 조건식을 만족하지 않는 데이터도 수정 가능 DELETE : VIEW 를 통해 SELECT 할 수 있는 데이터만 삭제 가능 With check option 💡 VIEW를 정의할 때 지정한 조건식을 만족하는 데이터만 INSERT, 또는..