SQL 10

[SQL] 비정규화 (De-Nomalization)

비정규화 (De-Nomalization)= 반정규화정규화된 DB를 성능 향상을 위해 의도적으로 다시 중복을 허용하는 과정 비정규화의 필요성조회 성능의 향상, 쿼리의 복잡성 감소시스템의 읽기 성능을 최적화쓰기 작업보다 읽기 작업이 많을 경우더보기더보기(정규화 된 테이블)-- 1) 주문 테이블 create table orders ( order_id int primary key, customer_id int, order_date date, total_amount int, foreign key(customer_id) references customers (customer_id));-- 2) 고객 테이블create table customers ( customer_id int primary k..

SQL 2024.09.30

[SQL] 정규화 (Nomalization)

정규화(Nomalization)테이블 간에 중복된 데이터를 허용하지 않는 것중복된 데이터를 허용하지 않음으로 무결성을 유지하는 방법 정규화 종류정규형: 테이블이 정규화된 정도, normal form(nf)제 1정규형(1NF), 제 2정규형(2NF), 제 3정규형(3NF), BCNF(Boyce-Codd NF), 제 4정규형(4NF), 제 5정규형(5NF) 1. 제 1정규형 (1NF)DB의 정규화 과정 중 첫 단계테이블에서 모든 필드(속성)가 원자값(분할 불가능한 값)을 가져야 한다는 규칙각 컬럼에 반복되는 그룹이나 다중값을 허용하지 않음각 행이 유일한 값을 가지도록 설계제 1 정규형의 장점데이터 중복 감소: 다중값이 구현된 컬럼을 개별 행으로 분리데이터 무결성 보장: 각 행이 하나의 데이터만을 참조하도록 ..

SQL 2024.09.30

[SQL] 이상현상

이상현상비정규화된 데이터베이스에서 발생할 수 있는 데이터의 무결성 문제삽입 이상, 삭제 이상, 갱신 이상1. 삽입 이상: 새로운 데이터 삽입 시 비효율적이거나 불가능한 상황더보기 insert into `student_course` (course_id, course_name, professor_name) values (104, '앱개발', '김준일');2. 갱신 이상: 데이터의 일부를 수정할 때, 중복된 모든 데이터를 수정해야 하는 상황더보기update `student_course`set professor_name = '원신희강사님'where professor_name = '원신희';-- 오류 없이 수정이 이루어지지만 각 행에서 조건의 데이터를 찾아 일일이 변경을 해야하는 메모리 부담이 존재3. 삭..

SQL 2024.09.30

[SQL] DML

DML (Data Manipulation Language)데이터 관리 언어데이터를 삽입, 조회, 수정, 삭제 기능 (CRUD) 1. 데이터 삽입 (INSERT)테이블에 행 데이터(레코드)를 입력하는 키워드insert into 테이블명 (열1, 열2,...) values (값1, 값2, ...);열 이름을 생략할 경우 values 키워드 뒤 값들의 순서는 테이블 정의 시 지정한 열의 순서 & 개수와 동일더보기create database `company`;use `company`;create table `example01` ( name varchar(100), age int, major varchar(100));# 1) 컬럼명 지정 Xinsert into `example01` values ('서호..

SQL 2024.09.25

[SQL] 무결성과 제약조건

무결성(Integrity)데이터에 결함이 없음정확성, 일관성, 신뢰성을 보장하는 개념 무결성의 종류1. 개체 무결성모든 테이블이 고유한 행을 가져야 한다는 원칙기본 키(Primary Key)를 통해 구현기본 키로 설정된 컬럼은 비워질 수 없고, 중복된 값을 가질 수 없다.2. 참조 무결성테이블 간의 관계를 정의할 때 한 테이블이 다른 테이블의 값을 참조하는 경우 참조 값이 반드시 존재해야 함을 뜻함외래 키(Foreign Key)를 통해 구현3. 도메인 무결성테이블의 각 필드(열)가 정의된 도메인에 맞는 값을 가져야 함을 뜻한다.데이터 타입, 포맷, 범위 등이 적절하게 유지도메인: 데이터타입, 길이, 가능한 값의 범위4. 사용자 정의 무결성특정 애플리케이션의 규칙에 따라 정의구현하고자 하는 비즈니스 규칙이..

SQL 2024.09.25

[SQL] DDL

DDL 데이터베이스 생성create : 데이터베이스 생성, 데이터를 저장하고 관리하는 첫 단계create database `데이터베이스명`;더보기더보기create database example;테이블 생성create : 테이블 생성, 테이블에 저장될 데이터의 형태와 특성을 정의데이터 타입, 제약조건, 기본값 등을 설정 가능create table `데이터베이스`.`테이블명`;더보기더보기create table `example`.`students` ( student_id int, student_name char(8), student_gender char(8));create table `example`.`students2` ( student_id int, student_name char(8), ..

SQL 2024.09.25

[SQL] datatype

Datatype 1. 정수형: 숫자 데이터를 저장하는 데 사용: 데이터 타입에 따라 메모리 사용 공간이 다름tinyint1byte(8bit) : -128 ~ 127smallint2byte(16bit) : -32,768 ~ 32,767\int 4byte(32bit) : 약 -21억 ~ 약 21억일반적인 용도로 가장 많이 사용되는 정수형 타입bigint8byte : 약 -900경 ~ 약 900경 더보기create database if not exists `example`;use `example`;create table `integer` ( t_col tinyint, s_col smallint, i_col int, b_col bigint);insert into `integer` values(1..

SQL 2024.09.25

[SQL] SQL

SQL(Structured Query Language)데이터 베이스 관리 시스템(DBMS)에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어데이터베이스에 저장된 데이터를 조회, 삽입, 수장. 삭제하는데 사용데이터 베이스의 구조를 정의하고 조작하는데 사용 SQL 주요 구성 요소: DMBS에서 실행 할 수 있는 명령의 종류에 따라 DDL, DML, DCL로 나뉜다 1. DDL (Data Definition Language)데이터 정의 언어데이터베이스 스키마와 구조를 정의하는데 사용create, drop, alter, truncate2. DML (Data Manipulation Language)데이터 조작 언어테이블에 데이터 검색, 등록, 수정, 삭제하는데 사용select, insert, update,..

SQL 2024.09.24

MySQL 설치 방법

== 프로그램 추가 제거 ==> mysql 제거 C:\ProgramData\mysql 삭제 C:\Users\ehdgu\AppData\Roaming\mysql 삭제 C:\Program Files\mysql 삭제 설치 (window)https://dev.mysql.com/downloads/installer/후에 303.6M가 짜리 다운 후 실행 -> custom -> mysql servers -> mysql servers -> mysql servers 담기 applications -> mysql workbench -> mysql workbench -> mysql workbench 담기 documentation -> samples and examples -> samples and examples -> samp..

SQL 2024.09.24

[SQL] RDBMS

관계형 데이터베이스 (RDBMS; Related DataBase Management System)데이터를 테이블(표) 형태로 저장하고, 테이블 간의 관계를 정의하여 데이터를 관리하는 데이터베이스 시스템 RDBMS 특징테이블(관계)로 데이터를 저장각 테이블은 행(레코드)과 열(속성)으로 구성스키마를 통해 데이터베이스를 관리데이터베이스의 구조와 제약 조건을 정의하는 청사진(틀)테이블 간의 관계와 데이터 타입 등을 포함SQL 언어를 사용데이터를 정의, 조작, 제어하는 데 사용하는 언어데이터의 정확성과 일관성을 유지하는 여러 무결성 제약 조건을 지원 RDBMS 주요 용어 1. 테이블(Table)데이터가 저장되는 기본 단위열(속성)과 행(레코드)으로 이루어져 있음2. 열(Column)데이터를 저장하는 세로의 구분..

SQL 2024.09.24