데이터베이스
데이터란?
: 현실의 무언가로부터 측정한 값. 어떻게 가공하느냐에 따라 달라질 수 있다.
데이터베이스란?
: 데이터를 표 형태로 저장한 파일
운영체제의 파일 시스템은 하드 디스크의 특정 주소에 어떤 데이터를 저장헀는지 관리해주는 것이다.
=> 데이터베이스도 저장되는 '파일'이기 때문에, 하드디스크에 저장되어 있는 파일이다.
데이터베이스의 특징
1. 자료 추상
- 복잡한 자료를 쉽게 사용할 수 있다.
- 개념화, 사물의 공통 성질을 추출한다.
2. 자료 독립
- 자료와 프로그램의 독립성을 유지한다.
- 파일과 파일을 이용하려는 프로그램 사이에는 어떠한 연관성도 없다.
- 한글 파일을 열려면 한컴 오피스를 깔아야 한다. => 종속되어 있음.
- DB는 종속되어 있지 않다.
- 어떤 클라이언트든 DB 파일을 볼 수 있다.
- 데이터가 변경되어도 프로그램이 바뀔 일은 없다.
3. 자기 정의
- 자료의 구성과 내용을 DB 자신이 저장 및 관리한다.
- 데이터들을 정형화시켜서 (틀을 만들어서) 저장한다.
데이터베이스 장점
1. 데이터의 논리적 독립성
- 논리적 구조가 변경되어도 DB를 이용하는 프로그램에는 영향이 없다.
2. 물리적 독립성
- 저장 장치의 구조를 변경해도 DB를 이용하는 프로그램 및 개념 스키마에는 영향이 없다.
3. 무결성 유지
- 데이터를 사용할 때 다양한 제약 조건(복사, 붙여넣기 등)으로 데이터에 결점이 생기지 않도록 유지가 잘 된다.
- 무결성 유지가 제약 조건 때문에 불편하기 때문에 단점을 해결하기 위해 나온 것 => NoSQL
4. 중복성 최소화
- 데이터를 통합하여 구성함으로 중복을 미리 통제한다.
- 체계적으로 저장하기 때문에 중복이 최소화된다.
- 중복이 100% 없는 것은 아니다 => 최대한 줄여서 저장한다.
5. 불일치 제거
- 중복을 최소화하여 불일치를 제거한다.
데이터 처리 시스템
1. 온라인 처리 시스템
- 온라인 실시간 처리 시스템은 데이터 발생 즉시, 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하도록 하는 방식이다.
2. 일괄 처리 시스템
- 시스템의 효율성을 최대한 높이기 위하여 일정 시간 또는 일정량의 데이터를 모아서 한 번에 처리하는 시스템이다.
- 일괄 처리, 배치 처리
3. 분산 처리 시스템
- 물리적으로 분산되어 있는 여러 컴퓨터를 논리적으로 하나의 시스템을 사용하는 것처럼 운영하는 방식이다.
데이터베이스 발전 과정
파일 시스템 => 계층형 => 망형 => 관계형 => 객체형 => 객체 관계형
가장 많이 사용하는 것은 관계형 데이터베이스 (Oracle, My-SQL, MariaDB 등)
보통 우리가 DB라고 부르는 것은 관계형 데이터베이스다.
DB 파일 확인 실습
1. DB 서버 생성, MariaDB 설치
가상 컴퓨터 생성 후 IP 주소 설정하고, mariaDB 설치하는 건
2024.11.25 - [CS] - 웹 서버, 웹 어플리케이션 서버(WAS), DB 서버 연동 실습
요기 참고 !!!
바인드 주소까지 0.0.0.0으로 설정 후
mariadb가 제대로 돌아가는 지 확인
2. DB 서버 초기화
mysql_secure_installation
루트 사용자가 원격으로 접속하는 걸 제한할 것이냐, 테스트 데이터를 지울거냐 등등 여러 질문들이 뜨는데
그냥 다 엔터 치고 넘어가면 된다.
중간에 비밀번호 입력하는 건 비밀번호 입력해주기
3. 데이터베이스 생성
mariadb -u root -p
CREATE DATABASE [DB 이름];
exit
루트 계정으로 로그인 후 데이터베이스를 만들어준다.
4. DB 파일 확인
ls -al /var/lib/mysql
cd /var/lib/mysql/psy
ls
mysql 폴더에 들어가면 방금 생성한 DB의 이름으로 된 폴더가 만들어져 있다.
여기 폴더 안에 들어가서 파일을 확인하면 db.opt 라는 파일이 뜬다.
이 db.opt 라는 파일이 데이터베이스 그 자체다.
DB 서버 접속할 때 필요한 것?
- IP 주소
- 포트 번호
- ID
- PW
- DB 이름
윈도우 MySQL Workbench - 리눅스 MariaDB 연결
1. 윈도우에 MySQL Workbench 설치
2. 리눅스 DB 서버의 IP 주소와 포트 번호 입력
Test Connection 하면 에러가 뜬다.
=> 루트 사용자의 원격 접속 권한이 없기 때문에
그래서 원격 접속용 사용자를 추가해줘야 한다.
mariadb -u root -p
CREATE USER '[사용자 이름]'@'%' IDENTIFIED BY '[비밀번호]';
GRANT ALL PRIVILEGES ON [DB 이름].* TO '[사용자 이름]'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON ~~~ = > DB 파일에 대한 모든 권한을 주겠다.
FLUSH PRIVILEGES => 권한 설정 적용
3. 윈도우에서 클라이언트 프로그램 실행
Hostname : DB 서버 IP 주소
Port : 3306 => mariadb 서버가 사용하는 번호
Username : 원격 접속용으로 생성한 계정
접속이 잘 되는 걸 확인할 수 있다.
'CS > DB' 카테고리의 다른 글
[DB] SQL 문법 (1) | 2024.11.29 |
---|---|
[DB] 워드프레스 서버 - DB 서버 연동 실습 (1) | 2024.11.28 |
[DB] SQL 연습 (윈도우 MySQL Workbench) (0) | 2024.11.28 |
[DB] 정규화란? / 정규화 과정 (0) | 2024.11.27 |
[DB] DBMS란? / ERD 다이어그램 / 관계 데이터 모델 (2) | 2024.11.27 |