반응형

CS 56

[DB] 관계 대수 예시

데이터베이스 스키마가 다음과 같을 때 a~g의 질의를 관계 대수식으로 표현할 것 CUSTOMER(CUSTOMER_ID, NAME, ADDRESS, PHONE) VIDEO(VIDEO_ID, TITLE, GENRE) RESERVED(CUSTOMER_ID, VIDEO_ID, DATE) a. 제목이 '반지의 제왕'인 비디오의 장르를 검색하라 b. 예약된 비디오의 ID를 검색하라 c. 예약되지 않은 비디오의 ID를 검색하라 d. 예약된 모든 비디오의 제목을 검색하라 e. 비디오를 예약한 고객의 이름을 검색하라 f. 장르가 '액션'인 비디오를 예약한 고객의 주소를 검색하라 e. 장르가 '다큐멘터리'인 비디오를 모두 예약한 고객의 이름을 검색하라 selection은 S, projection은 P로 나타낸다. a. P..

CS/DB 2022.04.26

[DB] 관계 대수

관계 대수 : 어떻게 질의를 실행할 것인지 명시하는 절차적 언어 관계 대수는 필수적인 연산자, 편의를 위해 유도된 연산자로 나눌 수 있다. 필수 연산자는 여기를 참조 [DB] 연산자 개요 데이터베이스에서 쓰이는 연산자들을 정리한 문서이다. 연산자는 필수연산자와 편의를 위해 유도된 연산자로 나뉜다. 필수연산자 셀렉션, 프로젝션, 합집합, 차집합, 카티션 곱 편의를 위 gamedoridori.tistory.com 다른 관계 연산자들은 필수적인 관계 연산자를 두 개 이상 조합하여 표현할 수 있음 임의의 질의어가 적어도 필수적인 관계 대수 연산자들만큼의 표현력을 갖고 있으면 관계적으로 완전하다고 함 아래는 편의를 위해 유도된 연산자임 조인 연산자 두 개의 릴레이션으로부터 연관된 튜플을 결합하는 연산자 세타 조인..

CS/DB 2022.04.26

[SQL] Table 생성 및 수정, 삭제

테이블 생성 dept라는 이름의 Table을 생성한다. dept의 애트리뷰트는 다음과 같다. Number 타입의 deptno VarChar2 타입의 dname VarChar2 타입의 loc describe를 통해 테이블의 정보를 확인할 수 있다. 테이블 생성 시에 적용할 수 있는 데이터 타입은 다음과 같다. 서브 쿼리를 사용하여 테이블을 만들 수도 있다. employees 테이블의 일부를 서브 쿼리를 사용하여 dept80이라는 새로운 테이블로 만든 예시이다. ALTER 명령어를 통해 테이블의 열을 추가, 수정, 삭제할 수 있다. ADD를 통해 새로운 컬럼을 추가할 수 있다. 추가되는 컬럼은 마지막 컬럼이 된다. MODIFY를 통해 컬럼을 수정할 수 있다. 데이터 타입, 크기, 기본값 등을 변경할 수 있다..

CS/DB 2022.04.25

[SQL] 내포된 SQL

내포된 SQL SQL이 호스트 언어의 완전한 표현력을 갖고 있지 않기 때문에 모든 질의를 SQL로 표현할 수 없음 또한 SQL은 조건문(IF), 반복문(WHILE), 입출력 등과 같은 동작, 사용자와의 상호 작용 등의 기능을 가지고 있지 않음 따라서 DB에 접근하는 부분은 SQL이 맡고 SQL에 없는 기능은 호스트 언어로 작성해야 함 SQL 컴파일 과정 편집기로 호스트 언어 안의 내포된 SQL을 가지는 프로그램을 작성한다. 이 프로그램을 전컴파일러(preprocessor)로 처리한다. 그러면 내포된 SQL이 호스트 언어와 함수 호출문으로 변환이 된다. 변환된 프로그램은 C, java 컴파일러 등에 의해 오브젝트 프로그램을 생성한다. 링커는 오브젝트 프로그램과 SQL 라이브러리를 링크를 해서 .exe 확장..

CS/DB 2022.04.24

[컴퓨터 구조] 폰 노이만 아키텍처 vs 하버드 아키텍처

개요 폰 노이만 아키텍처와 하버드 아키텍처는 컴퓨터 구조의 한 종류이다. 폰 노이만 구조 존 폰 노이만이 제시한 컴퓨터 구조로 프로그램 내장 방식이라고도 부른다. 폰 노이만 아키텍처에는 다음이 포함된다. 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛 데이터와 명령어를 저장하는 메모리 외부 대용량 저장소 입출력 메커니즘 장점 컴퓨터에 다른 작업을 시킬 때 하드웨어의 교체 없이 소프트웨어만 교체하면 되므로 범용성이 매우 향상된다. 즉, 전선을 일일이 교체하지 않고 프로그램만 교체하는 것으로 다른 작업을 수행할 수 있다. 단점 폰 노이만 구조에서는 나열된 명령을 단순히 순차적으로 실행하는 것을 반복하기 때문에 지연 현상이 발생하고, 이를 폰 노..

CS/컴퓨터 구조 2022.03.26

[DB] 연산자

개요 데이터베이스에서 쓰이는 연산자들을 정리한 문서이다. 연산자는 필수연산자와 편의를 위해 유도된 연산자로 나뉜다. 필수연산자 셀렉션, 프로젝션, 합집합, 차집합, 카티션 곱 편의를 위해 유도된 연산자 조인, 디비전 셀렉션 셀렉션 조건을 만족하는 튜플들의 집합을 생성한다. 입력 릴레이션을 하나 받는 단항 연산자이다. 결과 릴레이션의 차수는 입력 릴레이션의 차수와 같고, 결과 릴레이션의 카디널리티는 입력 릴레이션보다 작거나 같다. 조건을 만족하는 튜플이 없을 수도 있다. (카디널리티가 0이 될 수 있다.) 3번 부서에 소속된 사원(DNO=3)을 셀렉션하는 예시이다. 프로젝션 애트리뷰트의 부분 집합을 생성한다. 입력 릴레이션을 하나 받는 단항 연산자이다. 결과 릴레이션의 차수는 입력 릴레이션의 차수와 작거나..

CS/DB 2022.03.23

[컴퓨터 구조] SRAM vs DRAM

SRAM (Static Random Access Memory) SRAM은 플립플롭으로 작동한다. 플립플롭은 전류신호가 오기 전까진 상태가 변화하지 않으므로 SRAM은 시간이 지나도 내용이 소멸하거나 변화하지 않는다. 따라서 정적인(Static) 메모리라고 한다. DRAM (Dynamic Random Access Memoey) DRAM은 축전기로 작동한다. 축전기는 시간이 지날수록 방전된다. 따라서 일정시간마다 계속해서 충전시켜줘야 한다. 이것을 Refresh라고 한다. 주기적으로 충전시켜주지 않는다면, 시간이 흐름에 따라 데이터가 사라질 수 있다. DRAM을 Refresh하고 있는 동안에는 접근을 할 수가 없다. 따라서 SRAM보다 느린 속도를 가진다. 구분 SRAM DRAM 구조적 특징 플립플롭 축전기..

CS/컴퓨터 구조 2022.03.21

[컴퓨터 구조] CISC vs RISC

개요 CISC와 RISC는 CPU를 설계하는 방식이다. CPU가 작동하려면 명령어가 있어야 하는데, 명령어가 H/W 적인 방식을 RISC, S/W 적인 방식을 CISC라고 한다. CISC 연산을 처리하는 복잡한 명령어를 매우 많이 탑재하고 있다. 명령어 길이가 가변적이고 실행에 필요한 사이클 수가 다르기 때문에 파이프라이닝 설계가 어렵다. 하지만 RISC보다 호환성이 좋다는 장점은 있다. RISC CISC에 단점에 기반하여, 명령어를 최소화해 단순하게 제작하는 방안이 고려되었다. RISC는 하드웨어를 간단하게 만든 대신 소프트웨어는 복잡하고 크기가 커졌기 때문에, 컴파일러 최적화가 요구된다. 비교 구 분 CISC RISC 구조 복잡함 간단함 구성 복잡, 많은 명령어 간단, 최소 명령어 명령어 길이 가변적..

CS/컴퓨터 구조 2022.03.21

[DB] 무결성 제약 조건

개요 무결성 제약조건이란, 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적 또는 명시적으로 정의한 것이다. DB가 갱신될 때, DBMS가 자동적으로 조건을 검사하므로 응용 프로그램들은 조건을 검사할 필요는 없다. 목록 도메인 제약조건 1. 각 애트리뷰트 값은 원자값이어야 한다. 2. 애트리뷰트 값의 디폴트 값, 가능한 값들의 범위 등을 지정할 수 있다. 3. 데이터 형식을 통해 값들의 유형을 제한하고, CHECK 제약 조건을 통해 값들의 범위를 제한할 수 있다. 위의 예시에서 ID 애트리뷰트는 int로 유형을 제한, 또한 NULL일 수 없다. Age 애트리뷰트는 데이터 형식과 CHECK 제약 조건을 통해 18 이상의 정수로 범위를 제한했다. CHK_Person처럼 여러 개의 애트리뷰트에 걸쳐 도메인 ..

CS/DB 2022.03.18

[DB] 릴레이션 키

개요 릴레이션에서 키란, 각 튜플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임이다. 슈퍼 키, 후보 키, 기본 키, 대체 키, 외래 키가 있다. 슈퍼 키 한 릴레이션 내의 특정 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합이다. 튜플들을 고유하게 식별하는데 꼭 필요하지 않은 애트리뷰트들을 포함할 수 있다. 후보 키 각 튜플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임이다. 슈퍼 키와의 차이점은 후보 키는 최소성을 만족해야 한다는 것 후보 키도 두 개 이상의 애트리뷰트로 이루어질 수 있다. 이 경우 복합 키라고도 부른다. ex) 수강 릴레이션의 학번-과목번호는 재수강이 없는 한 후보 키가 될 수 있다. 위 그림에서 학번, 과목번호는 같은 값이 여러 개 존재 할 수 있..

CS/DB 2022.03.17
반응형