DB
IN 1) all managers, supervisors를 나열할 때 → IN 사용 (아래 두 코드 다 사용 가능) SELECT staffNo, fName, lName, position FROM Staff WHERE position IN(‘Manager’, ‘Supervisor’); SELECT staffNo, fName, lName, position FROM staff WHERE position=‘Manager’ OR position=‘Supervisor’; 2) NOT IN SELECT staffNo, fName, lName, position FROM Staff WHERE position NOT IN ('Manager', 'Supervisor'); IN은 많은 values를 포함하고 있을 때 더 효과..
all columns, all rows SELECT staffNo, fName, lName, address, position, sex, DPB, salary, branchNo FROM Staff; speicific columns, all rows SELECT staffNo, fName, lName, salary FROM Staff; 1) table viewing에서 모든 속성을 보려고 할 때 SELECT propertyNo FROM viewing; 2) 중복값을 제거하려고 할 때 SELECT DISTINCT propertyNo FROM Viewing; 3) 월별 salary를 조회할 때 (staff no., first/last name 도 함께 조회) SELECT staffNo, fName, lName,..
Relational Algebra What is Relational Algebra? 원하는 데이터를 얻기 위해 relation에 필요한 query를 수행하는 것 DB system의 구성요소 중 데이터 언어의 역할 원하는 결과를 얻기 위해 데이터 처리 과정을 순서대로 기술 5가지 basic operations selection, projection, cartesian product, union, set difference selection : 어떤 조건을 만족하는 튜플만 포함하는 relation 정의 projection : 선택된 속성들만 포함하는 relation 정의 cartesian product : 2개의 relation으로부터 튜플 쌍을 정의하기 위해 2개의 relation 곱 union : 2개의..
SQL 구문 기초 Create a new database CREATE DATABASE human resources; Make it the current database in use USE human resources; Define a table to hold data CREATE TABLE staff (staffNo VARCHAR(4), fName VARCHAR(20), IName VARCHAR(20)); Load some data from a text file LOAD DATA LOCAL INFILE "staff.txt" INTO TABLE staff; Insert statement : INSERT INTO TableName [(columnList)] VALUES(dataValueList) - colu..
File-based Approach의 단점 data 중복 데이터 의존적 다른 언어로 서로 적혀있기 때문에 서로의 file에 접근하기 어려움 data language의 역할 defining database updating database retrieving data database의 장점 복잡성 낮춤 일정 수준의 보안 제공 user interface 커스터마이징 가능 일관적이고 변하지 않는 데이터 표현 가능 Components of DBMS Enviroment Data(자료의 구조, 관계 등을 형식 언어로 정의한 schema), Procedures, People DBMS의 역할 Data Administrator(DA) Database Administrator(DBA) Database Definer(Logi..
기본용어 속성 릴레이션의 열을 의미. 릴레이션 : 파일, 속성 : 파일의 필드 더는 분해할 수 없는 원자 값만 사용 ex) 고객 릴레이션 → 고객아이디, 고객이름, 나이, 등급, 직업, 적립금 튜플 릴레이션의 행을 의미. 고객 개체의 인스턴스 ex) 고객 릴레이션에서 튜플은 고객 1명에 대한 실제 속성 값 6개 도메인 속성 하나가 가질 수 있는 모든 값의 집합 특정 속성이 가질 수 있는 모든 원자 값의 모임 속성의 특성을 고려한 데이터 타입으로 정의, 즉 도메인을 데이터 타입이라고 이해하기 ex) 고객이름 속성의 도메인 : CHAR(20), 나이 속성의 도메인 : (INT) 널 값 (Null) 특정 튜플 속성 값 모르거나 적합한 값이 없는 경우 숫자 0, 공백 값과는 다른 개념 ex) 고객이 아직 직업을..