일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Artifical Intelligence
- kernel
- Database
- 동기식 입출력
- 디비전 연산자
- camerax
- TicTacToe
- backpropagate
- 조인
- 데이터베이스
- pytorch
- Arificial Intelligence
- mode bit
- 실렉션
- System Structure
- SQL
- Hyperparameters
- 정규화
- Operating System
- AI
- 카티션 곱
- OS
- RuntimeError
- 운영체제
- process
- 중첩질의
- 세미조인
- 비지도학습
- dataloader
- Program Execution
- Today
- Total
목록Computer Science/Database (8)
aajin126's devlog
DBMS는 디스크에 갈 일이 많다. (사용자들이 요청하는 데이터를 가져와야 하고, 큰 데이터들이 많이 저장되어 있으므로) → I/O 데이터를 가져오는 일은 오래 걸리므로 한 사용자가 요청한 I/O task를 끝내기를 기다리고만 있을 수 없기 때문에 동시성을 관리한다. 트랜잭션 개요 트랜잭션(transaction) 프로그램에서 논리적인 단위의 갱신 명령의 모음이다. 많은 사용자들이 동시에 데이터베이스의 서로 다른 부분 또는 동일한 부분을 접근하면서 데이터베이스를 하용한다. 동시성 제어(concurrency control) 동시성 제어의 목표 : 실제 처리된 일이 마치 한 명 한 명을 순차적으로 처리한 것과 동일하게 처리해주는 것이 동시성 제어의 목적이다. 즉, 동시성 제어를 통하여 다수의 사용자가 데이터베..

릴레이션 정규화 데이터베이스에 어떤 릴레이션들을 생성할 것인가? 각 릴레이션에 어떤 애트리뷰트들을 둘 것인가? 정규화(normalization)는 주어진 릴레이션 스키마를 함수적 종속성과 기본키를 기반으로 분석하여, 원래의 릴레이션을 분해함으로써 중복과 세 가지 갱신 이상을 최소화한다. 👉 좋은 관계 데이터베이스 스키마를 설계하는 목적 : 정보의 중복과 갱신 이상, 손실을 막고, 애트리뷰트 간의 관계가 잘 표현되는 것을 보장하며, 무결성 제약조건의 시행을 간단하게 하며, 효율성도 고려하는 것을 목적으로 한다. 갱신 이상(update anomaly) 수정 이상 (modification anomaly) 반복된 데이터 중 일부만 수정하면 데이터 간의 불일치가 발생 삽입 이상 (insertion anomaly)..

데이터베이스 설계 개요 데이터 베이스 설계 개념적 데이터베이스 설계와 물리적 데이터베이스 설계로 구분한다. 설계 과정에서 조직체의 엔티티, 관계, 프로세스, 무결성 제약조건 등을 나타내는 추상화 모델을 구축한다. 엔티티 : 서로 구분되는 객체 관계 : 두 개 이상의 엔티티들 간의 연관 프로세스 : 활동 (EX. 업무 프로세스) 무결성 제약조건 : 데이터의 정확성과 비즈니스 규칙 개념적 모델 데이터베이스 구축을 위해 하는 모델링 데이터베이스 구조나 스키마를 하향식으로 개발할 수 있기 위한 틀(framework)을 제공함 개념적 데이터 모델이 사상될 수 있는 다수의 구현 데이터 모델(implementation data model)이 존재한다. 개념적 모델 예시 :엔티티-관계(ER : Entity - Rela..
저장 프로시저 (Stored Procedure) 대부분의 데이터베이스는 저장 프로시저라는 기능을 제공한다. 관계 데이터베이스를 위한 표준 데이터 언어인 SQL에 절차적인 언어의 기능 (IF-THEN, WHILE 루프 등)을 추가하여 확장한 언어이다. DELIMITER $$ CREATE PROCEDURE 스토어드_프로시저_이름(IN 또는 OUT 매개변수) BEGIN -- SQL 프로그래밍 코딩 -- END $$ DELIMITER; CALL 스토어드_프로시저_이름(); IN 또는 OUT 매개변수 사용법 IN 입력_매개변수_이름 데이터_형식 CALL 스토어드_프로시저_이름(전달_값) OUT 출력_매개변수_이름 데이터_형식 CALL 스토어드_프로시저_이름(@변수명) SELECT @변수명 DELIMITER $$ ..
SELECT문 조인 두 개 이상의 릴레이션으로부터 연관된 투플들을 결합한다. 조인에서 보통 릴레이션 간의 관계를 표현해주는 기본키와 외래키를 연관하지만 적절하게 관계를 나타낼 수 있는 애트리뷰트는 다 사용될 수 있다. 두 릴레이션 사이에 속하는 애트리뷰트 값들을 비교 연산자로 연결한 것 (가장 자주 사용되는 비교연산자 : =) 조인 조건을 생략했을 때와 틀리게 표현했을 때는 카티션 곱이 생성된다. 애트리뷰트 이름 앞에 릴레이션 이름을 사용하여 릴레이션을 명확하게 해주는 것이 바람직하다. (AS 사용) SELECT EMPNAME, DEPTNAME FROM employee AS E, department AS D -- FROM에서 쓴 릴레이션의 순서대로 WHERE E.DNO = D.DEPTNO -- WHERE..

SQL은 관계 대수와 관계 해석을 기반으로 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어이다. SQL 개요 SQL은 비절차적 언어(선언적 언어)이므로 사용자는 자신이 원하는 바(what)만 명시하며, 원하는 것을 처리하는 방법(how)은 명시할 수 없다. 관계 DBMS는 사용자가 입력한 SQL문을 번역하여 사용자가 요구한 데이터를 찾는데 필요한 모든 과정을 담당한다. 자연어에 가까운 구문을 사용하여 질의를 표현할 수 있다. 다양한 상용 DBMS마다 지원하는 SQL 기능에 다소 차이가 있다. SQL의 두가지 인터페이스 대화식 SQL(interactive SQL) : 데이터베이스 관리 시스템에 직접 접근하여 질의를 작성하여 실행된다. 내포된 SQL(embeded SQL) : 프로그래밍 언어로 작..

편의를 위해 유도된 연산자 디비전 연산자 차수가 n+m인 릴레이션 R(A1, … , An , B1, … , Bm) 과 차수가 m인 릴레이션 S( B1, B2, … , Bm)의 디비전 (R ÷ S)는 차수가 n이고, S에 속하는 모든 투플 u에 대하여 투플 tu(투플 t와 투플 u를 결합한 것)가 R에 존재하는 투플 t들의 집합. (위의 두번째 예시에서 b2와 b4가 모두 있는 an만 결과 릴레이션에 포함될 수 있음) 관계 대수의 한계 관계 대수는 산술 연산을 할 수 없다. 집단 함수(max, min,avg, sum 등)를 지원하지 않는다. 정렬(sorting)을 나타낼 수 없다. 조회만 가능하여 데이터 베이스를 수정할 수 없다. 무조건 중복을 제거하다 보니 중복된 투플을 나타내는 것이 필요할 때 이를 명..

관계 데이터 모델에서 지원되는 두 가지 정형적인 언어 관계 해석 (relational calculus) 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어 관계 대수 (relational algebra) 어떻게 질의를 수행할 것인가를 명시하는 절차적 언어 (SQL은 HOW를 표시하지 않기 때문에 SQL의 기초가 되어 질의 처리기에서 순서와 방법을 결정할 때 관계 대수로 처리된다.) 관계 대수는 상용 관계 DBMS들에서 널리 사용되는 SQL의 이론적인 기초 SQL 상용 관계 DBMS들의 사실상의 표준 질의어 SQL을 사용하여 관계 데이터베이스에 릴레이션을 정의하고, 관계 데이터베이스에서 정보를 검색하고, 관계 데이터베이스를 갱신하며, 여러가지 무결성 제약조건들을 명시할 수 ..