티스토리 뷰
오늘은 뜬금이 없지만 서버를 하다보니 데이터베이스에 대한 궁금증이 생겨 딴 길에 들었지만,
이 때 아니면 제대로 찾지 않을 것 같아서 공부해보게 되었다.
데이터베이스
여러 사용자나 응용 프로그램이 공유하고 동시에 접근 가능한 데이터의 집합이라고 정의 할 수 있다.
DBMS(DataBase Management System)
데이터베이스를 관리/운영하는 소프트웨어이다.
사용자나 응용 프로그램은 DBMS가 관리하는 데이터에 동시에 접속하여 데이터를 공유하기도 한다.
데이터베이스의 특징
- 데이터의 무결성
데이터베이스 안의 데이터는 어떤 경로를 통해 들어왔던 오류가 있어서는 안된다.
- 데이터의 독립성
데이터베이스와 응용 프로그램은 서로 의존적인 관계가 아니라 독립적인 관계이다.
- 보완
데이터베이스 안의 데이터는 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만이 접근할 수 있다.
- 데이터의 중복 최소화
데이터베이스에서는 동일한 데이터가 여러 군데 중복 저장되는 것을 방지한다.
- 응용 프로그램 제작 및 수정이 용이
데이터베이스를 이용하면 통일된 방식으로 응용 프로그램을 작성할 수 있고 유지/보수 또한 쉽다.
- 데이터의 안전성 향상
데이터가 손상되는 문제가 발생하더라도 원래의 상태로 복원 또는 복구할 수 있다.
DBMS의 분류
계층형 DBMS
각 계층이 트리 형태를 띠고 1:N 관계를 가진다.
한번 구축하면 구조를 변경하기가 까다롭다.
접근의 유연성이 부족하여 임의 검색시 어렵다.
망형 DBMS
1:1, 1:N, N:M(다대다)관계가 지원되어 효과적이고 빠른 데이터 추출이 가능하다.
매우 복잡한 내부 포인터를 사용한다.
프로그래머가 모든 구조를 이해해야만 프로그램을 작성할 수 있다.
관계형 DBMS
모든 데이터는 테이블에 저장된다.
테이블 간의 관계는 기본키(PK)와 외래키(FK)를 사용하여 맺는다. 즉 부모와 자식간의 관계다.
다른 DBMS에 비해 업무 변화에 따라 바로 순응할 수 있고 유지/보수 측면에서도 편리하다.
대용량 데이터를 체계적으로 관리할 수 있다.
데이터의 무결성도 잘 보장된다.
시스템 자원을 많이 차지하여 시스템이 전반적으로 느려지는 단점이 있다.
SQL(Structured Query Language)
데이터베이스에 사용되어 조작하는 공통 언어다.
SQL 특징
DBMS 제작 회사와 독립적이다.
다른 시스템으로의 이식성이 좋다.
표준이 계속 발전한다.
대화식 언어이다.
클라이언트/서버 구조를 지원한다.
표준 SQL과 각 회사의 SQL
많은 회사가 되도록 표준 SQL을 준수하려고 노력하지만 각 회사의 DBMS마다 특징이 있기 때문에 현실적으로 완전히 통일되기는 어렵다.
각 회사의 제품은 모두 표준 SQL을 공통으로 사용하면서 자기 제품의 특성에 맞춘 호환되지 않는 SQL문을 사용한다.
MySQL 개요
오라클에서 제작한 DBMS 소프트웨어이다.
오픈소스로 제공이 된다.
현재 무료 에디션으로 사용하여 비상업적으로는 가능하나, 상업용으로 쓰게 될 경우 비용이 발생할 수 있다.
Power shell문
mysql -u root -p |
초기에 설치한 user이름은 root 이며 비밀번호를 입력하면 MySQL로 들어가게 된다.
employees.sql; |
sql데이터를 가져온 경우 해당 경로로 이동하여 데이터베이스를 가져오는 쿼리문을 작성한다.
show databases; |
데이터베이스가 잘 가져왔는지 확인한다.
exit |
확인이 잘 되었다면 접속종료를 통해 종료를 한다.
'Back-End' 카테고리의 다른 글
벡앤드 프로그래밍 : Node.js의 Koa 프레임워크 (0) | 2021.02.06 |
---|---|
JSON Web Token에 대한 정리 (0) | 2021.01.30 |
- Total
- Today
- Yesterday
- 리액트
- 리액트 유튜브
- Switch
- 코딩테스트
- 리덕스
- node-sass
- node
- Visual Studio Code
- mongodb
- react
- java
- Coding Test
- 리액트 썸네일
- 함수
- redux
- 자바스크립트
- 프로그래머스
- javascript
- 재공부
- github
- CSS
- Git
- programmers
- 뷰
- 노드
- 파이썬
- 자바
- array
- node.js
- 배열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |