Computer Sciences/Database(20)
-
18. System Aspects of SQL
How SQL fits into a complete programming environment? SQL/Host Language Interface(Embedded SQL) 프로그래밍 언어에 SQL을 다루는 문법을 추가한 방식 Pro*C(Oracle) ecpg(PostgreSQL) 최근에는 많이 사용되지는 않음 Call-Level Interface 프로그래밍 언어 수준에서 DB와 커넥션하기 위한 API를 표준화한 방식 SQL/CLI(ANSI SQL) JDBC(Sun) ADO.NET(ODBC, ADO, OLEDB) (Microsoft) Persistent Stored Modules PL/pgSQL(PostgreSQL) PL/SQL(Oracle) Transact-SQL(Microsoft) 표준화가 잘 안 되어..
2021.06.07 -
17. Null and check Constraints, Trigger
Not-Null constraints 기본적으로 데이터를 입력하지 않은 컬럼에는 null 값이 들어감 이러한 null을 허용하지 않고 반드시 값을 입력하도록 NOT NULL을 지정해줄 수 있음 Primary key는 이 키워드를 지정하지 않더라도 적용되어있음 CREATE TABLE Stduio ( name CHAR(30) PRIMARY KEY, address VARCHAR(255), presCNo INT REFERENCES MovieExec(certNo) NOT NULL ); Attribute-Based Checks 속성이 만족해야 하는 조건을 체크함 만족하지 못하는 튜플은 거부함 CHECK 키워드 사용 // presCNo가 10만 이상인 경우를 체크함 CREATE TABLE Studio ( name C..
2021.05.29 -
16. Primary and foreign Key Constraint
Constraints 기존의 SELECT, UPDATE 과 같은 절은 입력해주어야 실행됨 제약 조건은 한 번 설정을 해 두면 상황에 따라 적절하게 실행됨 Integrity constraint 키 제약 조건: PRIMARY KEY, UNIQUE 외래 키 제약 조건 (Referential integrity constraints): REFERENCES Constraints on attributes, tuples, and relations 속성 제약 조건: NOT NULL Attribute-based CHECK constraints Tuple-based CHECK constraints Interrelations constraints(global constraints) (SQL2-only) Assertions T..
2021.05.29 -
15. Index and View
Index 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 문법 CREATE INDEX YearIndex ON Movie(studioName, year); DROP INDEX YearIndex; 인덱스를 사용하지 않은 컬럼을 조회한다면 전체를 탐색해야 하기 때문에 처리 속도가 떨어짐 Selection of Indexes 인덱스 선택은 데이터베이스 설계자에 의한 트레이드 오프가 요구됨 중요한 사실 인덱스의 존재는 쿼리 스피드를 매우 높여줌 모든 인덱스는 삽입, 삭제, 갱신을 더 복잡하고 시간이 소요되게 함 부가적인 공간을 차지함 처음 설계할 때는 인덱스 없이 설계하고 이후에 자주 사용되는 쿼리에 대해 인덱스를 생성하는 방식이 좋음 Index 관리 DBM..
2021.05.23 -
14. Transaction
ACID Atomicity 트랜잭션은 모두 수행되던가 아예 실행되지 않아야 함 Consistency 트랜잭션의 작업 수행 후에 일관성을 유지해야 함 Isolation 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 경우에 어느 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들지 못함 Durability 트랜잭션이 성공적으로 완료됐을 경우, 그 결과는 영구적으로 반영되어야 함 Concurrency(동시성) 동시에 여러 작업을 수행하는 특성 동시에 여러 작업이 같은 공간에 접근하면 Conflict 발생(e.g. 예약 시스템) 서울의 A와 부산의 B가 대전에서 열리는 콘서트 예매를 하려 함 둘 다 동시에 페이지에 접근하여 두 사람 모두 현재 공석으로 표시됨 둘 다 같은 자리에 예매하게 되었으나, 논리적으로는..
2021.05.22 -
13. Database Modifications
Insertion 문법 INSERT INTO R VALUES (v1, v2, ..., vn); 예제 StarsIn(movieTitle, movieYear, starName) Movie(TITLE, YEAR, length, inColor, studioName, producerCNo) // INSERT 문은 기본적으로 테이블의 속성 순서대로 삽입됨 INSERT INTO StarsIn VALUES ('The Maltese Falcon', 1942, 'Sydney Greenstreet'); // SELECT 문에서는 NULL을 사용할 수 없었지만 INSERT문에서는 NULL 가능 INSERT INTO Movie VALUES ('Star Wars', 1997, 121, 'T', 'Fox', NULL); // DE..
2021.05.22