MySQL

데이터베이스의 발전

whs5758 2025. 5. 9. 14:36

데이터베이스의 발전

  • 오프라인으로 관리: 컴퓨터가 없었던 시절, 장표같은 걸로 관리하였다.
  • 파일시스템 이용: 메모장이나 엑셀같은 프로그램을 통해 소량의 데이터를 관리하기 시작하였다. 하지만 데이터가 많아지면서 파일의 크기가 커지면서 문제발생 우려가 발생하기 시작하였다.

 

  • 데이터 베이스 관리시스템: 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 DBMS가 나오기 시작했으며 DBMS에 데이터를 구축하고 관리하고 활용하기 위해서 사용되는 언어가 SQL이다.

SQL은 Structured Query Language의 약자로, 데이터베이스와 상호 작용하기 위해 사용되는 표준화된 프로그래밍 언어입니다.


SQL 빠른 실습

  • 데이터베이스 생성
-- 주석 
-- 데이터 집합 생성(데이터베이스 생성)  
CREATE DATABASE db_tenco_market; 

-- 어떤 데이터 베이스를 사용할지 선택 
USE db_tenco_market;

-- 데이터 집합 삭제 
DROP DATABASE db_tenco_market;

-- mysql 대소문자를 구별하지 않는다. 
-- 단, 구별하는 RDBMS도 존재 합니다.
  • 테이블을 설계해 봅시다.
-- 데이터 베이스 생성 
create database db_tenco;

-- DB 에서 최소의 정보 단위는 테이블 이다. 

-- 테이블 생성하기 (컬럼명과 제약 사항을 지정한다) 
create table userTBL(
	userName char(3) not null primary key, 
    birthYear int not null, 
    addr char(2) not null, 
    mobile char(12) 
);

-- 테이블 정보를 출력해주는 쿼리 구문
show tables;

-- 테이블 조회 
select * from userTBL;

-- 구매 테이블 만들기 
create table buyTBL(
	id int not null auto_increment, 
    userName char(3) not null, 
    prodName char(3) not null, 
    price int not null, 
    primary key(id),
    foreign key(userName) references userTBL(userName)
);

show tables;
select * from buyTBL;

-- 테이블에 상세 정보 보기 
desc buyTBL;

  1. foreign key (userName) references userTBL(userName)
    • 이 구문은 외래 키(foreign key)를 정의하는 데 사용됩니다.
    • 외래 키는 한 테이블의 열에 대해 다른 테이블의 열을 참조하는데 사용됩니다. 이를 통해 테이블 간의 관계를 설정하고 데이터 무결성을 유지할 수 있습니다.
    • 예를 들어, 위의 구문은 현재 테이블의 userName 열을 외래 키로 정의하고, 이 외래 키가 userTBL 테이블의 userName 열을 참조하도록 설정합니다. 이는 현재 테이블의 userName 열이 userTBL 테이블의 userName 열에 있는 값 중 하나여야 한다는 의미입니다.
  2. auto_increment
  • 이는 열에 대한 속성으로, 해당 열의 값이 자동으로 증가하도록 설정합니다.
  • 보통 이 속성은 주로 기본 키(primary key) 열에 사용되며, 새로운 레코드가 삽입될 때마다 자동으로 값이 증가하여 고유한 식별자를 생성합니다.
  • 일반적으로 auto_increment 속성은 정수 데이터 타입에만 사용됩니다. 대표적으로 INT나 BIGINT와 같은 정수형 데이터 타입과 함께 사용됩니다.
  • 예를 들어, **id INT AUTO_INCREMENT PRIMARY KEY**와 같이 정의하면 id 열은 자동으로 1씩 증가하는 고유한 값을 가지게 됩니다. 새로운 레코드가 삽입될 때마다 자동으로 증가하는 식별자가 생성됩니다.

 

 

'MySQL' 카테고리의 다른 글

데이터베이스 구축 절차  (0) 2025.05.09
MySQL 워크벤치 화면 구성 살펴보기  (0) 2025.05.09
데이터베이스란  (0) 2025.05.08
샘플 데이터 구축하기  (0) 2025.05.08
MySQL 환경변수 편집 및 실행  (0) 2025.05.01