학교 수업/데이터베이스
-
sql문 연습사이트학교 수업/데이터베이스 2020. 6. 26. 18:30
sql문제를 직접 풀고 정답을 확인해볼 수 있는 사이트들. 1. 프로그래머스 : https://programmers.co.kr/learn/challenges?tab=sql_practice_kit 문제도 한국어로 되어있고, 다른 사람들의 풀이를 질문하기 영역에서 참고할 수 있다. 간단하게 전반적인 sql문을 연습하기에 좋았다. 2. SQLZOO : https://sqlzoo.net/wiki/SQL_Tutorial 문제도 설명도 다 영어로 되어있긴 하나, 다양하게 문제를 풀 수 있다. select문이나 join문을 좀 더 연습하기에 좋았다. 모르는 문제라면, 구글에 문제 검색시 git에 풀이를 적어둔 외국인들이 많아서 그것을 참고하면 된다.
-
이상현상 & 정규화?학교 수업/데이터베이스 2020. 4. 26. 17:52
이상현상(Anomaly) - 개념: 릴레이션 조작 시 불필요한 데이터의 중복으로 발생하는 예기치 않은 현상 - 종류① 삽입 이상 : 데이터 삽입 시 원하지 않는 값이 함께 삽입되는 현상② 삭제 이상 : 한 튜플 삭제 시 원하지 않는 값이 연쇄 삭제되는 현상③ 갱신 이상 : 중복 튜플의 속성값을 갱신 시 일부 튜플의 속성값만 변경되는 현상 정규화(normalization) - 개념: 잘못 설계한 관계형 데이터베이스를 더 작은 속성 집합으로 분해하여 바람직하게 만드는 과정 즉, 이상 현상이 제거된 릴레이션으로 만들어 과는 과정 - 목적① 어떤 릴레이션이라도 데이터베이스 내에서 표현 가능하도록 만듬② 릴레이션에서 바람직하지 않은 삽입, 삭제, 갱신이상이 발생하지 않도록 함③ 보다 간단한 관계연산에 기초하여 검..
-
뷰?학교 수업/데이터베이스 2020. 4. 24. 17:07
뷰 (View) - 개념 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 자니는 가상 테이블(virtual table) - 특징① 저장장치 내에 물리적으로 구현되어 있지 않음② 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해짐 (뷰를 이용한 검색 연산은 가능하지만 갱신 엽산은 많은 제약점 가짐)③ 데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용 ④ 뷰는 다른 뷰를 가질 수 있음⑤ 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제 - 장&단점 - 뷰 정의 형식CREATE VIEW 뷰_이름 [(속성목록)] AS SELECT문; 뷰 이름 뒤..
-
트랜잭션?학교 수업/데이터베이스 2020. 4. 24. 16:40
트랜잭션(Transaction) - 개념 : 데이터베이스 작업의 논리적인 단위로 일련의 연산 집합을 의미 데이터베이스의 병행 제어 및 회복 작업의 기본 단위 하나의 transaction은 commit되거나 rollback되어야 한다. 병행 제어(concurrency control)?몇 개의 트랜잭셔을 동시에 수행시키는 것데이터베이스 처리의 성능을 향상시킬 수 있지만 여러 트랜잭션들을 적절히 제어하지 못했을 때는 문제점 발생 회복(Recovery)?장애(failure)가 일어났을 때 데이터베이스를 장애 발생 이전의 일관된 상태로 복원시키는 것 - 특성(ACID)① 원자성(Atomicity) : 트랜잭션은 완벽하게 수행 완료되거나, 전혀 수행되지 않아야 한다.② 일관성(Consistency) : 트랜잭션 수..
-
관계 데이터베이스?학교 수업/데이터베이스 2020. 4. 21. 19:22
이전 포스팅에서 다루지 못한 관계 데이터 모델에 대해 자세하게 설명하겠다. 관계데이터베이스의 구조 릴레이션(Relation) 으로 표현됨 - 릴레이션 이란? 데이터 구조를 테이블 형태로 표현한 것릴레이션 스키마와 릴레이션 인스턴스로 구성① 릴레이션 스키마 : 릴레이션의 논리적 구조를 정의하는 정적 구조② 릴레이션 인스턴스 : 어느 한 시점의 릴레이션 상태, 즉 튜플 전체를 의미하며 동적 구조 - 릴레이션 관련 용어① 튜플(Tuple) : 릴레이션에서 각각의 행(row)을 의미② 속성(Attiribute) : 릴레이션에서 각각의 열(column)을 의미③ 도메인(Domain) : 한 속성이 가질 수 있는 값의 집합④ 차수(Degree) : 릴레이션에서 속성의 개수⑤ 카디널리티(Cardinality) : 릴..
-
데이터베이스란?학교 수업/데이터베이스 2020. 4. 21. 17:11
데이터베이스(Database, DB) - 개념: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합 통합, 저장, 공용 데이터- 특징① 실시간 접근성 : 질의 또는 조회에 대해 즉각적 응답② 계속적 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지하면서 변화③ 동시 공유 : 여러 사용자가 동시에 같은 데이터에 접근 가능④ 내용 참조 : 데이터를 참조할 때 주소나 위치가 아닌 내용으로 접근 - 장점① 데이터 중복 최소화② 데이터 공유③ 최신의 데이터 유지④ 용이한 데이터 접근⑤ 데이터의 표준화 가능⑥ 데이터의 논리적, 물리적 독립성⑦ 데이터 저장 공간 절약⑧ 일관성, 무결성(데이터의 정확성과 일관성 유지 보증하는 것을 뜻함), 보안성 유지 - 단점① 데이터..