ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 테이블
    mysql 2023. 3. 6. 11:41

     

     

    데이터 베이스 정의

     

    파일시스템의 단점을 보완하고 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해서 사용하기 시작한 것이 DBMS이다.

     

    데이터의 집합, DBMS는 이데이터 베이스를 관리, 운영하는 역할을 한다.

    DBMS는 데이터의 대용량을 관리하거나 여러 명의 사용자가 공유하는 개념은 아니다.

    DBMS는 데이터베이스를 관리하는 소프트웨어의 개념이다.

    DBMS안에 DB를 여러개 둘 수 있다. 그리고 각각의 DB안에는 여러개의 테이블을 둘 수 있다.

     

     

    DBMS의 중요한 특징

    데이터의 무결성 - 데이터의 오류가 있어서는 안된다.
    데이터의 독립성 - 크기나 위치를 변경하더라도 기존에 작성된 응용프로글매은 전혀 영향을 받지 않아야 한다. 즉, 서로 의존적 관계가 아닌 독립적인 관계여야 한다.
    보안 - 접근이 허가된 사람만 접근할 수 있어야 한다.
    데이터 중복의 최소화 - 동일한 데이터가 여러개 중복되어 저장되는 것을 가능한 방지 한다.
    데이터의 안전성 향상 - DBMS가 제공하는 백업,복원기능을 이용함으로써, 데이터가 꺠지는 문제를 발생할경우 방지한다.

     

    DBMS 종류

    계층형,망형,관계형 DBMS(RDBMS)이 있지만 요즘에는 RDBMS를 주로 사용한다.

     

     

    학습 목표

    데이터 베이스 생성 방법

     

    테이블이란

     

    MySQL에서 테이블(table)은 데이터를 저장하는 기본적인 단위입니다.

     

    데이터베이스 정보

     

    1.테이블 이름

    2.열 이름

    3.열 데이터 형식

    4. 빈 값 허용 여부

    5.기본값

    6.제약조건 (Primary key, Unique Key, Foreign Key 등)

    7.인덱스

     

    SQL (Structured Query Language)은 데이터베이스 관리 시스템 (DBMS)에서 데이터를 관리하고 검색하기 위해 사용되는 표준 데이터베이스 언어

     

    학생 테이블 생성하기

    CREATE TABLE student (
    	student_id INT,
        name varchar(50) NOT NULL,
        grade int not null,
        major varchar(50) not null
    );

     

     

    과목 테이블 생성하기

    CREATE TABLE subject (
    	subject_id int,
        subject_name varchar(50) not null,
    	credit int not null,
        -- varchar와 char의 차이점 char는 메모리 고정적으로 들어가고 varchar는 문자에따라 메모리가 다르다
        department varchar(50),
        professor char(50) not null
    );

     

     

    이미 생성된 테이블에 PK(기본키 - 제약조건) 추가 해보기

    desc Student;
    -- 이미 생성된 테이블에 기본 키 추가 하는 쿼리 사용방법
    alter table student ADD primary key(student_id);
    -- 사전기반지식 : 특정 컬럼을 기본키로 만들게 되면 중복된 데이터를 허용 못하고
    -- null 값이 있어서는 안됨
    
    -- subject 테이블에 pk 추가 대상 - subject_id
    -- 제약 확인
    alter table subject add primary key(subject_id);
    desc subject;
    DESC 명령어는 특정 테이블의 구조(스키마) 정보를 출력하는 명령어입니다.
    DESC는 DESCRIBE의 약어로, 테이블의 구조 정보를 보다 간략하게 확인할 수 있도록 지원하는 명령어입니다.

     

    테이블 생성 시 PK를 추가하는 방법

    -- 생성될 시점에 테이블 생성 명령어를 보여줘
    show create table student;
    
    -- 테이블을 삭제하는 명령어 확인
    drop table student;
    drop table subject;
    
    -- 학생 테이블 생성 pk 추가
    create table student(
    	student_id int primary key,
        name varchar(50) not null,
        grade int not null,
        major varchar(50) not null
    );
    desc student;
    
    create table subject(
    	subject_id int primary key,
        subject_name varchar(50) not null,
        credit int not null,
        department varchar(10) not null,
        professor varchar(20) not null
    );
    desc subject;

     

    예제

    create table employee(
    	employee_id int primary key,
        employee_name varchar(50) not null,
        employee_age int not null,
        employee_departMent varchar(10) not null
    );
    desc employee;
    
    create table customer(
    	customer_id int primary key,
        customer_name varchar(50) not null,
        customer_email varchar(50),
        customer_address varchar(100) not null
    );
    desc customer;

     

     

    data type : TEXT, DECIMAL 에 이해

    create table product(
    	id int primary key,
    	name varchar(50) not null,
        price DECIMAL(10, 2) NOT NULL,
        description TEXT
    );
    desc product;
    TEXT 타입은 긴 텍스트 데이터를 저장하기 위한 데이터 타입으로, 문자열의 길이에 제한이 없습니다.

    DECIMAL 데이터 타입은 DECIMAL(p, s) 형식으로 정의하며,p는 전체 자릿수,s는 소수점 이하 자릿수를 나타냅니다. 예를 들어, DECIMAL(5, 2)는 전체 자릿수가 5이고, 소수점 이하 자릿수가 2인 데이터를 저장할 수 있는 데이터 타입이다.

     

    DATE 타입 이해

    CREATE TABLE `order` (
    	id INT PRIMARY KEY,
        cusotmer_order VARCHAR(50),
        product_name VARCHAR(20) not null,
        quantity INT NOT NULL,
        order_date DATE NOT NULL
    );
    desc `order`;
    DATE는 날짜를 저장하기 위한 데이터 타입이다.

     

    'mysql' 카테고리의 다른 글

    정규화란  (0) 2023.06.27
    서브쿼리  (0) 2023.04.08
    SELECT 구문과 조건절  (0) 2023.03.07
    INSERT 구문과 제약 사항  (0) 2023.03.06
Designed by Tistory.