포스팅 주제
- 데이터베이스란?
- 데이터베이스 MySQL 설치
데이터 베이스
데이타베이스(DB)란?
- 다양한 카테고리의 정보를 저장할 수 있는 구조(데이터의 집합)
- 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터 집합
- => 데이터를 저장하는 구조/자료의 모음
그렇다면 우리는 왜 데이터베이스를 사용할까?
데이터 베이스를 파일 시스템과 비교해 보자
파일 시스템
- 데이터를 기록하고 여러 사람이 공유하여 사용 가능
- ex) Microsoft Excel 프로그램으로 데이터 관리
데이터 베이스
- 파일 시스템의 단점을 개선하기 위해 등장
** < 파일 시스템 (File System) > : 데이터베이스를 사용하기 전 데이터의 저장을 위해 이용했던 시스템
- 단점
- 데이터 중복
- 데이터 불일치
DBMS (DataBase Managament System)
- 파일 시스템이 가진 문제를 해결하기 위해 만들어진 것
- 데이터베이스에 접근하고 이를 관리하기 위해 존재한다.
- 관계형 데이터베이스
- RDBMS (Relational DBMS) : DBMS에 관계성을 추가한것!
- 사용자와 DB를 연결시켜주는 소프트웨어
- 데이터베이스 사용자가 데이터베이스를 생성, 공유, 관리할 수 있도록 하는 역할
그렇다면 RDBMS는 무엇이 있을 까요?
- Oracle ,SQL Server, DB2, MySQL, PostgreSQL, SQLite 등 다양한 RDBM가 존재한다.
이 중 우리가 설치할 RDBMS는 MySQL이다.
자료를 보면 Nov 2023년 기준으로 DBMS중 2등으로 많은 개발자들이 MySQL을 사용하고 있다.
심지어 오픈소스이다!! <= 이게 핵심 👍
MySQL은 공식 사이트에서 다운로드 가능하다.
https://dev.mysql.com/downloads/mysql/
**주의**
비밀번호는 따로 기록해 두자
MySQL을 사용하기 위해서는 비밀번호를 사용해야 한다. ( 너무 쉬운 비밀번호면 보안에 취약하기 때문에 조심하자 )
mysql은 터미널 창에서 실행 가능하다.
블로그 주인은 macOS를 사용해서 Mac 기준으로
- mysql 설치된 경로로 이동
- cd /usr/local/mysql/bin
- 사용자명 root, 비밀번호 입력
- ./mysql -u root -p
- mysql 종료
- quit( 또는 exit ) 입력
* 비밀번호는 hidden으로 입력해도 콘솔창에는 뜨지않는다.
** MySQL에 들어가면 콘솔에 프롬포트가 " mysql > "로 변한다.
MacOS에서는 MySQL의 WorkBench를 따로 추가 설치해줘야 한다.
Mac 😭
https://downloads.mysql.com/archives/workbench/
DataBase 용어 설명!
데이터베이스는 테이블 형식의 형태를 띈다.
- 열(Column, Attribute, 속성)
- 행(Record, Tuple, 튜플)
- 테이블(Table, Relation)
키(Key)라는 값이 존재 한다. 이 Key를 통해 각 테이블을 Relational하게 만들 수 있다.
- KEY
- 데이터베이스에서 튜플을 찾거나 순서대로 정렬할 때 구분하고 정렬의 기준이 되는 속성
- 기본키(PK, Primary Key)
- 메인키로 한 테이블에서 특정 튜플(행)을 유일하게 구별할 수 있는 속성
- NULL값 불가
- 중복 불가
- 외래키(FK, Foreign Key)
- 어떤 테이블의 기본키를 참조하는 속성
NULL이란?
- 공백, 숫자 0과 다름
- 데이터베이스에서 존재하지 않음을 나타냄
- 아직 입력되지 않은 값, 알 수 없는 값을 의미
외래키 특징
- 다른 테이블의 기본키를 참조하는 속성
- 참조하고(외래키) 참조되는(기본키) 양쪽 테이블 도메인은 서로 같아야 한다.
- ***참조되는(기본키) 값이 변경되면 참조하는(외래키) 값도 변경됨 <= 주의해야 한다!!
- NULL 값과 중복 값 등 허용
- 자기 자신의 기본키를 참조하는 외래키 가능
'웹 개발' 카테고리의 다른 글
[포스코X코딩온] 모델 뷰 컨트롤러 MVC (0) | 2023.12.01 |
---|---|
[포스코X코딩온] 데이터베이스 SQL문 (1) | 2023.11.29 |
[포스코X코딩온] 파일업로드 Multer (0) | 2023.11.28 |
[포스코X코딩온] 동적 Form 전송 (Ajax, Axios, Fetch) (3) | 2023.11.28 |
[포스코X코딩온] 폼(Form)태그 전송(Get, Post) (0) | 2023.11.25 |