ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MariaDB 설치
    데이터베이스/SQL 2023. 10. 12. 17:24

    MariaDB 설치 경로

     

    C:\Program Files\MariaDB 10.3

     

    Path 경로 추가

     

    Windows PowerShell 관리자로 실행

    cmd 입력 후 엔터

    SETX PATH "C:\Program Files\MariaDB 10.3\bin;%PATH%" /M

     

    경로 확인

     

    샘플 데이터베이스 다운로드 (오픈소스)

    http://cafe.naver.com/thisismysql 

     

    이것이MySQL이다 : 네이버 카페

    한빛미디어 [이것이 MySQL이다] 카페입니다.

    cafe.naver.com

     

    MariaDB 접속

     

    파워셸 관리자 모드 실행

    source employees.sql ; 입력

    show databases ; 입력

    exit

    ㅋㅋ 인사도 해줌

     

    폴더 역할
    bin MariaDB 서버 프로그램, 클라이언트 프로그램 및 유틸리티 프로그램 파일
    data 데이터베이스 및 로그 파일
    include 응용프로그램을 개발할 때 필요한 헤더 파일
    lib MariaDB 관련 라이브러리 파일
    share 기타 지원 파일, 각 언어별 오류 메시지 파일 등

    MariaDB 내 폴더

     

    릴레이션 용어 같은 의미로 통용되는 용어 파일 시스템 용어
    릴레이션(relation) 테이블(table) 파일(file)
    스키마(schema) 내포(intension) 헤더(header)
    인스턴스(instance) 외면(extension) 데이터(data)
    튜플(tuple) 행(row) 레코드(record)
    속성(attribute) 열(colum) 필드(field)

     

    속성

    · 단일 값을 가짐

    · 서로 다른 이름을 가짐

    · 한 속성의 값은 모두 같은 도메인 값을 가짐

    · 속성의 순서는 상관없다

    · 릴레이션 내의 중복된 튜플은 허용하지 X

    · 튜플의 순서는 상관없다

     

    하나의 속성이 가질 수 있는 값을 총칭해 "도메인"이라 한다

     

    · 특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합

    · 릴레이션은 중복된 튜플을 허용하지 않기 때문에 각각의 튜플에 포함된 속성들 중 어느 하나(혹은 하나 이상)는 값이 달라야 함. 즉 키가 되는 속성(혹은 속성의 집합)은 반드시 값이 달라서 튜플을 서로 구별할 수 있어야 함

    · 키는 릴레이션 간의 관계를 맺는 데도 사용

     

    슈퍼키

    · 튜플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합 ex) 고객 번호, 도서 번호 등

     

    후보키

    · 튜플을 유일하게 식별할 수 있는 속성의 최소 집합

    · 주문 릴레이션의 후보키는 2개의 속성을 합한 (고객번호, 도서번호)가 됨

    · 2개 이상의 속성으로 이루어진 키를 복합키

     

    기본키

    · 여러 후보키 중 하나를 선정해 대표로 삼는 키

    · 후보키가 하나뿐이라면 그 후보키를 기본키로 사용하면 되고 여러 개라면 릴레이션의 특성을 반영하여 하나를 선택하면 됨

     

    기본키 선정 시 고려사항

     

    · 릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 함

    · NULL 값은 허용하지 x

    · 키 값 변동이 일어나지 않아야 함

    · 최대한 적은 수의 속성을 가진 것이라야 함

    · 향후 키를 사용하는 데 있어서 문제 발생 소지가 없어야 함

    · 릴레이션 스키마를 표현할 때 기본키는 밑줄을 그어 표시함

     

    대리키 / 인조키

    기본키가 보안을 요하거나, 여러 개의 속성으로 구성돼 복잡하거나, 마땅한 기본키가 없을 때 일련번호 같은 가상의 속성을 만들어 기본키로 삼는 경우

    대리키는 DBMS나 관련 소프트웨어에서 임의로 생성하는 값으로 사용자가 직관적으로 그 값의 의미를 알 수 없음

     

    외래키

    다른 릴레이션의 기본키를 참조하는 속성을 말함

    다른 릴레이션의 기본키를 참조하여 관계 데이터 모델의 특징인 릴레이션 간의 관계를 표현함

    외래키의 특징

    · 관계 데이터 모델의 릴레이션 간의 관계를 표현함

    · 다른 릴레이션의 기본키를 참조하는 속성

    · 참조하고(외래키) 참조되는(기본키) 양쪽 릴레이션의 도메인은 서로 같아야 함

    · 참조되는(기본키) 값이 변경되면 참조하는(외래키) 값도 변경됨

    · NULL 값과 중복 값 등이 허용됨

    · 자기 자신의 기본키를 참조하는 외래키도 가능함

    · 외래키가 기본키의 일부가 될 수 있음

     

    무결성의 수행 제약조건
    구분 도메인
    도메인 무결성 제약조건 개체 무결성 제약조건 참조 무결성 제약조건
    제약 대상 속성 튜플 속성과 튜플
    같은 용어 도메인 제약 기본키 제약 외래키 제약
    해당되는 키 - 기본키 외래키
    NULL 값 허용 불가 허용
    릴레이션 내 제약조건의 개수 속성의 개수와 동일 1개 0~여러 개
    기타 투플 삽입/수정 시 제약사항 우선 확인 투플/수정 시 제약사항 우선 확인 · 투플 삽입/수정 시 제약사항 우선 확인
    · 부모 릴레이션의 투플 수정/삭제 시 제약사항 우선 확인

    개체 무결성 제약조건

    삽입: 기본키 값이 같으면 삽입이 금지됨

    수정: 기본키 값이 같거나 NULL로도 수정이 금지됨

    삭제: 특별한 확인이 필요하지 않으며 바로 수행됨

     

    참조 무결성 제약조건

    학과(부모 릴레이션): 튜플 삽입한 후 수행하면 정상적으로 진행

    학생(자식 릴레이션): 참조받는 테이블에 외래키 값이 없으므로 삽입이 금지

     

    삭제

    · 학과(부모 릴레이션): 참조하는 테이블을 같이 삭제할 수 있어서 금지하거나 다른 추가 작업이 필요

    · 학생(자식 릴레이션): 바로 삭제 가능함

     

    명령어 의미
    RESTRICTED 자식 릴레이션에서 참조하고 있으면 부모 릴레이션의 삭제 작업을 거부함 학과 릴레이션의 튜플 삭제 거부
    CASCADE 자식 릴레이션의 관련 튜플을 같이 삭제함 학생 릴레이션의 관련 튜플을 삭제
    DEFAULT 자식 릴레이션의 관련 튜플을 미리 설정해 둔 값으로 변경 학생 릴레이션의 학과가 다른 학과로 자동 배정
    NULL 자식 릴레이션의 관련 튜플을 NULL 값으로 설정함(NULL 값을 허가한 경우) 학생 릴레이션의 학과가 NULL 값으로 변경

    참조 무결성 제약조건의 옵션(부모 릴레이션에서 튜플을 삭제할 경우)

     

    RESTRICTED: 요청한 삭제 작업 중지(에러 처리)

    CASCADE: 학생 릴레이션의 해당 튜플을 연쇄적으로 삭제

    DEFAULT: 미리 설정한 기본값으로 변경

    NULL: NULL 값으로 설정

     

    관계의 수학적 의미

    릴레이션의 수학적 개념

    A = {2, 4}, B = {1, 3, 5}일 때

    A x B = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}

    관계대수식

    관계대수는 릴레이션 간 연산을 통해 결과 릴레이션을 찾는 절차를 기술한 언어로, 이 연산을 수행하기 위한 식을 관계대수식이라고 함

    관계대수식은 대상이 되는 릴레이션과 연산자로 구성되며, 결과는 릴레이션으로 반환됨. 반환된 릴레이션은 릴레이션의 모든 특징을 따름.

     

    단항 연산자: 연산자<조건> 릴레이션

    이항 연산자: 릴레이션 1 연산자<조건> 릴레이션2

     

    조인

    두 릴레이션의 공통 속성을 기준으로 속성 값이 같은 투플을 수평으로 결합하는 연산, 조인을 수향하기 위해서는 두 릴레이션의 조인에 참여하는 속성이 서로 동일한 도메인으로 구성되어야 함, 조인 연산의 결과는 공통 속성의 속성 값이 동일한 투플만을 반환함

     

    SQL 기능에 따른 분류

    데이터 정의어(DDL)

    테이블이나 관계의 구조를 생성하는 데 사용

    CREATE, ALTER, DROP 문 등이 있음

     

    데이터 조작어(DML)

    테이블에 데이터를 검색, 삽입, 수정, 삭제하는 데 사용

    SELECT, INSERT, DELETE, UPDATE 문 등이 있음

    - SELECT 문은 특별히 질의어(query)라고 함

     

    데이터 제어어(DCL)

    데이터의 사용 권한을 관리하는 데 사용

    GRANT, REVOKE 문 등이 있음

     

    정보시스템 구축 절차 요약

    · 분석, 설계, 구현, 시험, 유지보수의 5가지 단계

     

    분석

    · 구현하고자 하는 프로젝트의 가장 첫 번째 단계

    · 시스템 분석 또는 요구사항 분석

        - 현재 우리가 무엇을 할 것인지 결정

        - 사용자의 인터뷰와 업무 조사 등 수행

        - 프로젝트의 첫 단추를 끼우는 중요한 단계

        - 많은 시간 동안 심혈을 기울여야 함

        - 분석의 결과로서 많은 문서 작성

     

    설계

    · 시스템 설계 또는 프로그램 설계라는 용어로 부름

    · 우리가 구축하고자 하는 시스템을 어떻게 할 것인지 결정

    · 시스템 설계가 끝나면 가장 큰 작업이 끝난 것으로 간주

    · 대부분의 프로젝트에서 이 분석과 설꼐의 과정에 전체 공정의 50% 이상 차지

     

    구현

    · 시스템 설계가 끝나고 나면 그 결과 문서들을 프로그래머(또는 코더)에게 넘겨주면 프로그래머는 설계서에 나온 그대로 프로그램 작성

     

    데이터베이스 모델링과 필수 용어

    ·  데이터베이스 모델링

        ·  현실세계에서 사용되는 데이터를 MariaDB에 어떻게 옮겨 놓을 것인지를 결정하는 과정

        ·  저장할 정보는 테이블Table이라는 형식에 맞춰 저장

     

    데이터베이스 모델링 관련 용어

    · 데이터

        - 단편적인 정보 ex) 당탕이, 컴퓨터, 2013.1.1

        - 정보는 있으나 아직 체계화되지 못한 상태

    · 테이블

        - 회원이나 제품의 데이터를 입력하기 위해 표 형태로 표현 ex) 회원 테이블, 제품 테이블

    · 데이터베이스(DB)

        - 테이블이 저장되는 저장소

        - 원통 모양으로 주로 표현

        - 각 데이터베이스는 서로 다른 고유한 이름을 가지고 잇어야 함

    · DBMS

        - 데이터베이스를 관리하는 시스템 또는 소프트웨어

        - 3개의 데이터베이스를 관리

    · SQL

        - 사람과 DBMS가 소통하기 위한 언어

    '데이터베이스 > SQL' 카테고리의 다른 글

    SQL 고급  (0) 2023.11.09
    SQL 기본 문법  (0) 2023.10.27
    MariaDB 유틸리티 사용법  (0) 2023.10.26
    데이터베이스 모델링  (0) 2023.10.26
    MariaDB 전체 운영 실습  (0) 2023.10.13
Designed by Tistory.