데이터 베이스 MySQL

김찬울·2021년 7월 15일
0

데이터 베이스

  • 데이터의 집합
  • 여러 사용자, 프로그램이 공유
  • 동시 접근 가능
  • 데이터의 저장 공간

DataBase Management System(이하 DBMS)

  • 위의 데이터 베이스를 관리 통제하는 소프트웨어

결국에 데이터 베이스를 DBMS를 통해 사용자(프로그램)이 관리한다.

  • 데이터 베이스는 정확하고 오류가 없는 데이터로만 있어야함.
  • 데이터 베이스에는 User에 대한 내용이 있는 경우 등등에서는 서로 연결된 데이터로 이루어져 있기에
    User가 사라지면 연계된 데이터를 모두 지워야함.
  • DBMS는 보안이 중요함.(정보에도 중요도가 있기 때문이다.)
  • 또한 중복이 없어야한다. (같은 User가 있으면 안되는 건 당연함.)
  • DBMS로 수월해진 유지보수를 통하여 특히, 백업과 복원을 통해 유지관리를 더욱 향상시킬 수 있음

Structured Query Language (이하 SQL)

  • DBMS에서 데이터를 다루기 위해 사용되는 언어
  • 정보들을 입력, 관리, 추출, 구축, 활용 가능

DBMS

계층형 DBMS

  • 접근은 빠르나, 재배치하기에 복잡함.

망형 DBMS

관계형 DBMS

  • 1969년 E.F.Codd라는 학자가 수학모델에 근거하여서 테이블이라는 최소 단위로 구성된다. 해당 테이블은 하나 이상의 열로 구성된다.
  • 엑셀의 형태를 띈다.
  • 단점
    시스템 자원을 여러 방면에서 차지하므로 전반적으로 느려진다.(처리 속도는 빠르다.)'

SQL

  • 주피터 노트북처럼 대화식이다. (중간중간 출력)
  • 분산형 클라이언트/서버 구조.
  • 다른 시스템으로 이식성 좋다.
  • DBSM 제작 회사랑 독립적으로 존재.
  • DBMS와 소통하기 위한 언어

설치과정

powershell에서
cmd 입력후
SETX PATH "경로;%PATH%"
(경로는 대부분 c:\programpiles\MySQL\MySQL server 8.0\bin)
완료되면 데이터베이스의 위치에 간 다음에
mysql -u root -p 를 입력후
비밀번호를 입력한다.

후에
source employees.sql;를 입력하면 된다.

데이터 베이스를 보려면

show databaeses; (세미클론은 거의 다 붙으며 해당 명령어는 데이터 베이스를 보여준다.)

데이터 베이스 구축

1.분석

  • 무엇을 할 것인지를 분석하여 결정
  • 인터뷰, 업무조사등을 수행
  • 많은 문서작성

2.설계

  • 시스템 또는 프로그램 설계
  • 분석과 공정이 절반이상 차지

행과 열(속성)

행은 간단하게 user나 제품별로 모아둔 관계형 정보들의 건
열은 그 정보들을 여러 기준으로 나누는 속성.

  • 열은 중복될 수 없다. 같은 속성으로 두 번 나눌 필요 없기에.

데이터 형식

열에 맞는 데이터를 집어 넣어야함.
날짜나, 수량은 날짜 형식과 수의 형태를 띄는 것.

Primary Key

Pk는 기본키로 정보를 검색하기위해 이용하는 key
딕셔너리의 key값과 같다.
중복 불가, 생략 불가.

  • 행을 구분해주는 유일한 열

단편적이고 체계화 되지 않은 데이터를 속성별로 표 형태로 체계화 하여 만든 것이 테이블이다.
이 테이블이 저장되는 저장소를 DB라고 하는 것이고 (고유한 이름을 가짐)
이를 관리하는 것이 DBMS라고 한다.

Foreign Key

MySQL다루기

  • NN은 NotNull 널값이 없어야한다는 뜻.

edit- preferences - sqleditor - query editor에서 use UPPERCASE 를 체크해주면 대문자 사용가능

폭포수 모델

프로젝트는 일반적으로

  • 프로젝트 계획, 업무 분석, 시스템 설계, 프로그램 구현, 테스트, 유지보수 순으로 이루어짐

장점: 명확히 구분되어 진행 단계가 잘 보인다.

단점 : 돌이키기 어렵다. 구현과 테스트에서 문제가 발생. 기능 구현이 가능한 지까지도 파악하는 게 중요.

데이터베이스 모델링 개념

모든 교환이나 관계를 데이터 베이스처럼 나타낼 수 있음. (같은 테이블이라는 것은 대체 가능한 경우에 테이블로 나타내는 것임)

  • 개념적 모델링 - 업무 분석
  • 논리적 모델링 - 업무 분석과 시스템 설계
  • 물리적 모델링 - 논리적 모델링 기반으로 작업을 하기 위한 모델링

부모테이블 자식테이블

테이블에도 우선순위가 있고 중요도의 차이가 있기에
다른 테이블을 아우르는 테이블을 부모테이블이라한다.
신상 정보가 부모테이블인 경우가 많음.

모든 테이블에서 PK는 null이면 안된다. not null 무조건!
PK가 부모테이블과 자식테이블을 연결하는 브릿지 역할을 한다.

MYSQL80으로 실행 여부 판단

윈도우 검색창에 서비스를 검색하고 MYSQL80이 구동되는 중인지를 확인하여 실행 여부 판단가능!

mysql문법

use 모델이름 - 모델 사용하기

show databases - 모델 내용 읽기

show tables - 테이블들의 이름만 가져오기

show table status - 테이블들의 자세한 정보까지 가져오기

desc 테이블 이름 - 테이블의 열의 내용 보기

select 열 - 내용 가져오기 전체는 *

from 테이블이름. - select의 대상.

where 조건문 - 조건을 걸어 특정한 것만 가져오기

profile
코린코린이

0개의 댓글