[DataBase] 데이터베이스와 테이블 관리하기
·
CS/Database
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 데이터베이스 생성하고 관리하는 방법 중에서 데이터베이스 생성과 테이블 생성에 대해서 포스팅을 해보겠습니다! 우선 들어가기에 앞서서 MySQL이 관리하는 것들에 대해서 정리하고 가겠습니다. MySQL을 설치하면 DBMS가 설치될 거고, 여러개의 데이터베이스를 갖게 될 겁니다. 그리고 그 데이터베이스 안에는 여러개의 테이블을 가질 수 있습니다. 아래 그림처럼 말이죠!우리는 이런 구조로 MySQL을 관리할 수 있습니다.  MySQL이 관리하는 것MySQL이 관리하는 것들을 살펴보면 데이터베이스들을 관리하게 되고 그 데이터베이스들은 테이블들을 관리하게 될 것입니다. 그리고 또  테이블은 데이터를 의미하는 행과 열들을 가지고 있고 각각의 데이터 정확하게는 열에는 ..
[Database] 트랜잭션과 무결성
·
CS/Database
1. 트랜잭션 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다. 즉, 여러 개의 쿼리들을 하나로 묶는 단위를 말한다. 특징으로는 원자성, 일관성, 독립성, 지속성이 있다. 이러한 특징을 ACID 특징이라고 말한다. 2. 원자성 원자성(atomicity)은 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징이다. 트랜잭션이 원자처럼 더 이상 쪼개지지 않는 하나의 프로그램 단위로 동작해야 한다는 의미이다. 일부만 수행되는 일이 없도록 전부 수행하거나 아예 수행하지 않아야 한다. (all or nothing) COMMIT, ROLLBACK 같은 트랜잭션 제어 명령어 (Transaction Control Language)를 이용한다. 3. 일관성 트랜잭션은 데이터베이..
[Database] ERD와 정규화 과정
·
CS/Database
1. ERDERD(Entity Relationship Diagram)는 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하고 릴레이션 간의 관계들을 정의한 것이다.ERD는 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축한다.데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다.ERD 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용하다는 장점을 가지고 있다.하지만 비정형 데이터를 충분히 표현할 수 없다는 단점을 가지고 있다.*비정형 데이터란? 비구조화 데이터를 말하며, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보를 말한다.2. 정규화 과정정규화 과정은 릴레이션 간의 잘못된..
[Database] 데이터베이스의 기본 (2)
·
CS/Database
1. 관계데이터베이스에 테이블은 여러 개가 존재합니다.이러한 테이블은 서로의 관계가 정의되어 있습니다. 이러한 관계를 관계화살표로 나타냅니다.2. 키키는 테이블 간의 관계를 더 명확하게 하고 테이블 자체의 인덱스를 위해 설정된 장치입니다.키의 종류로는 기본키, 외래키, 후보키, 슈퍼키, 대체키가 있습니다.2.1 기본키기본키(primary key)는 줄여서 PK 또는 프라이머리키라고 많이 부릅니다.기본키는 유일성과 최소성을 만족하는 키입니다.이는 테이블의 데이터 중 고유하게 존재하는 속성이며 기본키에 해당하는 데이터는 중복되어서는 안 됩니다.기본키는 자연키 또는 인조키 중에 골라서 설정합니다.2.2 자연키유저 테이블을 만든다고 가정한다면 속성은 주민번호, 이름, 성별 등이 존재할 수 있습니다.이 중 이름,..
[Database] 데이터베이스의 기본 (1)
·
CS/Database
1. 데이터베이스의 기본 데이터베이스(DB, DataBase)는 일정한 규칙, 혹은 규약을 통해 구조화 되어 저장되는 데이터의 모음입니다. 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS(DataBase Management System)라고 말합니다. 데이터베이스 안에 있는 데이터는 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있습니다. 데이터베이스는 실시간 접근과 동시 공유가 가능하다는 특징을 가지고 있습니다. 2. 엔터티데이터베이스에서 엔터티(Entity)란 현실 세계에서 독립적으로 존재하거나, 개별적으로 관리해야 하는 개념이나 객체를 의미합니다.엔터티의 예시를 회원으로 보자면 엔터티의 속성으로는 고객의 이름, 연락처, 주소 등의 정보를 갖을 수 있..