Courses/데이터베이스 10

01_Introduction to Database

March, 2024Data & DatabaseData: 정형화되고 기록할만 한 가치가 있다고 판단되는 어떤 현상이나 사건, 아이디어에 대한 묘사A formal description of an entity, event, phenomena, or ideaworth recordingDatabase (DB): 조직이나 개인이 사용하는 조작가능한, 저장된 데이터의 모음An integrated collection of persistent data, representing the information of interestrepresenting the information of interestfor various programs that compose the computerized information system ..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 08: 트랜잭션, 동시성 제어, 회복

Aug, 202301. 트랜잭션1. 트랜잭션의 개념트랜잭션(transaction)DBMS에서 데이터를 다루는 논리적인 작업의 단위( = DBMS가 데이터베이스를 다룰 때 사용하는 작업(프로그램) 단위)보통 단일 SQL 문을 사용하여 다루기도 하지만 여러 개의 SQL문을 순차적으로 수행하여 다루기도 한다트랜잭션을 정의하는 이유데이터베이스에서 데이터를 다룰 때 장애가 일어나면, 트랜잭션이 장애 발생 시 데이터 복구 작업의 단위로 쓰인다데이터베이스에서 여러 작업이 동시에 같은 데이터를 다루면, 트랜잭션이 이 작업을 서로 분리하는 단위가 된다트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 한다(all or nothing)BEGIN 1) A 계좌에서 10,000원을 인출하는 SQL UPDATE 문 2) B..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 07 정규화

Aug, 202301. 이상현상이상현상의 개념이상현상(anomaly): 테이블에 투플을 삽입할 때 부득이하게 NULL 값이 입력되거나, 삭제 시 연쇄삭제 현상이 발생하거나, 수정 시 데이터의 일관성이 훼손되는 현상잘못 설계된 테이블로 삽입, 삭제, 수정 같은 데이터 조작을 하면 이상현상이 일어난다이상현상의 종류삭제이상(deletion anomaly): 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상→ 연쇄삭제(triggered deletion) 문제 발생삽입이상(insertion anomaly): 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상→ NULL 값 문제 발생수정이상(update anomaly): 투플 수정 시 중복된 데이터의 일부만 수정되어 데..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 06

Aug, 202301. 데이터베이스 모델링의 개념1. 데이터베이스 생명주기데이터베이스 생명주기(database life cycle): 데이터베이스의 생성과 운영에 관련된 특징요구사항 수집 및 분석 → 설계 → 구현 → 운영 → 감시 및 개선 (→ 요구사항 수집 및 분석)요구사항 수집 및 분석: 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계설계: 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계), 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 스키마를 도출(물리적 설계)하는 단계구현: 설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체(뷰, 인덱스 등)을 만들고, 관련 소프트웨어에 설계한 데이터베이..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 05: 데이터베이스 프로그래밍

Aug, 2023데이터베이스 프로그래밍DBMS에 데이터를 정의하고 시스템에 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정일반 프로그래밍과의 차이점: 데이터베이스 프로그래밍은 데이터베이스 언어인 SQL을 포함삽입 프로그래밍데이터베이스 프로그래밍 방법 중 하나로, SQL을 자바, C와 같은 범용 프로그래밍 언어에 삽입하여 프로그래밍하는 것호스트 언어: SQL문이 삽입된 자바, C와 같은 프로그래밍 언어저장 프로그램데이터베이스 전용 응용 프로그램을 작성할 때 사용하는 MYSQL의 SQL 확장 언어저장 프로시저저장 프로그램에서 사용하는 기능일반 프로그래밍 언어의 함수 대신 사용하는 명칭프로시저를 정의하여 DBMS에 저장한다커서실행 결과 테이블을 한 번에 한 행씩 처리하기 위해 테이블의 행을 ..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 04: SQL 고급

01. 내장 함수SQL 내장 함수상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환한다모든 내장함수는 최초에 선언될 때 유효한 입력 값을 받아야 한다선언에 위배된 값이 입력되면 질의는 실행을 중지하고 에러 메시지를 출력한다MYSQL에서 제공하는 내장 함수 구분  함수단일행 함수숫자 함수ABS, CEIL, COS, EXP, FLOOR, LN, LOG, MOD, POWER, RAND, ROUND, SIGN, TRUNCATE문자 함수(문자 반환)CHAR, CONCAT, LEFT, RIGHT, LOWER, UPPER, LPAD, RPAD, LTRIM, RIRIM, REPLACE, REVERSE, RIGHT, SUBSTR, TRIM문자 함수(숫자 반환)ASCI, INSTR, LENGTH날짜, 시간 함수A..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 03: SQL 기초

Jul, 202301. SQL 기초SQL(Structured Query Language)이란?1970s 후반에 IBM이 개발한 관계형 데이터베이스 언어완전한 프로그래밍 언어(e.g., C, JAVA)는 아니고, 데이터 부속어라고 부름: 데이터베이스의 데이터와 메타 데이터(데이터 구조에 관한 데이터)를 생성하고 처리하는 문법만 있음DBMS에 직접 입력, 클라이언트/서버 응용 프로그램에 삽입, 웹 페이지 문서에 삽입 등 다양한 방법을 통해 사용할 수 있음SQL의 기능에 따른 분류데이터 정의어(DDL): 테이블이나 관계의 구조를 생성 - CREATE, ALTER, DROP 문데이터 조작어(DML): 테이블에 데이터를 검색, 삽입, 수정, 삭제 - SELECT(→질의어), INSERT, DELETE, UPDAT..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 02: 관계 데이터 모델

Jul, 2023 *** 관계 데이터 모델수학의 집합 이론에 근거 → 타 모델에 비해 튼튼한 이론적인 토대를 가짐관계 데이터 모델을 적용한 SQL 언어는 비절차적인 언어: 원하는 데이터를 쉽게 표현할 수 있음가장 많이 사용되는 관계 데이터 모델 DMBS: Oracle, SQL Server, DB2, MySQL, PostgreSQL, SQLite01. 관계 데이터 모델의 개념1-1) 릴레이션행과 열로 구성된 테이블관련 용어 용어 한글 용어relation릴레이션, 테이블relational data model관계 데이터 모델relational database관계 데이터베이스relational algebra관계대수relationship관계관계의 두 가지 개념릴레이션 내에서 생성되는 관계관련 있는 실제 데이터들의..

데이터베이스 개론과 실습 (MySQL로 배우는) | Chapter 01: 데이터베이스 시스템

Jul, 2023 01. 데이터베이스와 데이터베이스 시스템기본 개념데이터: 관찰의 결과로 나타난 정량적 혹은 정성적인 실제값정보: 데이터에 의미를 부여한 것지식: 사물이나 현상에 대한 이해데이터베이스: 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것데이터베이스 시스템: 데이터의 검색과 변경 작업을 주로 수행함. 검색과 변경의 빈도에 따라 시스템 구축의 난이도가 결정됨*** 변경: 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는 삽입, 삭제, 수정 등의 작업*** 데이터베이스는 저장된 데이터의 양이 많고, 실시간 검색이 많은 분야일 수록 활용도가 높다!데이터베이스의 개념데이터베이스는 각 조직에서 사용하던 데이터를 모아서 통합하고 공유할 목적으로 구축됨통합된 데이터(integ..