MySQL

(DB)데이터베이스의 발전 -3

mynote6676 2025. 5. 6. 08:24

데이터베이스의 발전

 

- 오프라인으로 관리 : 컴퓨터가 없었던 시절 , 장표같은 걸로 관리하였다.

- 파일시스템 이용 : 메모장이나 엑셀같은 프로그램을 통해 소량의 데이터를 관리하기 시작하였다. 

하지만 데이터가 많아지면서 파일의 크기가 커지면서 문제발생 우려가 발생하기 시작하였다.

 

-데이터 베이스 관리시스템 : 대량의 데이터를 보다 효율적으로 보다 효율적으로 관리하고 운영하기 위해 DBMS가

나오기 시작했으며 DBSM에 데이터를 구축하고 관리하고 활용하기 위해서 사용되는 언어가 SQL이다.

 

tip 

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

언어입니다.

 

 

시나리오 1 

고객은 방문 기록과 방문한 사람이 어떤 상품을 구해 하였는지 기록을 남겨보자.

 

 

 

시나리오 2

구매를 상태와 비 구매 상태 구분하기 -----> L자 모양으로 만들어지게 된다.

시나리오 3

 

데이터 베이스에 고객 테니블과 구매 데이터블과 구매 테이블 만들어서 불필요 공간 없애기 

 

 

시나리오 4

고객 테이블에 중복 회원 (중복 없애기 ) -- > 고객 이름에  PK(기본키 설정)

시나리오 5

구매 테이블에 고객명을 추가 하기 (배달을 해야한다고 가정하면 구매 고객이름

으로 고객 테이블에 접근해서 고객에 주소나 전화번호를 알 수 있다.)

 

시나리오 6 

PK : FK 관계 만들기

중요: 현실세계를 모델링할때 아주 많이 사용되는 설계 1:N 관계

학생 : 성적 ---> 1 :N 

직원 : 급여 -----> 1: N

 

 

 

시나리오 7 

테이블 설계단계

 

 

----------------------------------------------------------------------------------------------------------------------------------------

 

SQL 빠른 실습

 

데이터베이스 생성

 

테이블을 설계해 봅시다.

 

1.foreign key (userName) references userTBL(userName)

- 이 구문은 외래 키 (foreign  key)를 정의하는데 사용됩니다.

 

-외래 키는 한 테이블의 열에 대해 다른 테이블의 열을 참조하는데 사용됩니다.

이를 통해 테이블 간의 관계를 설정하고 데이터 무결성을 유지할 수 있습니다.

 

-예를들어, 위의 구문은 현재 테이블의 userName 열을 외래 키로 정의하고, 이 외래 키가 userTBL 테이블의 

 userTBL 테이블의 userName 열을 참조하도록 설정합니다. 이는 현재 테이블의 userName 열이 userTBL  테이블의 

userName열에 있는 값 중 하나여야 한다는 의미입니다.

 

2.auto_increment

- 이는 열에 대한 속성으로, 해당 열의 값이 자동으로 증가하도록 설정합니다,

- 보통 이 속성은 주로 기본 키 (plromary key ) 열에 사용되며, 새로운 레코드가 삽입될 때마다 자동으로 값이 증가하여

고유한 식별자를 생성합니다.

-일반적으로 auto_increment 속성은 정수 데이터 타입에만 사용됩니다.

대표적으로 INT나 BIFINT와 같은 정수형 데이터 타입과 함께 사용됩니다.

-예를 들어 id INT AUTO_INCREMENT PRIMARY KEY 와 같이 정의하면 id 열은 자동으로 1씩 증가하는 고유한 값을 가지게 

됩니다. 새로운 레코드가 삽입될 때마다 자동으로 증가하는 식별자가 생성됩니다 .

 

 

728x90

'MySQL' 카테고리의 다른 글

(DB) SQL(DDL, DML, DCL)이란? -6  (0) 2025.05.07
(DB)데이터베이스 구축 절차 -5  (0) 2025.05.07
(DB)MySQL 워크벤치 화면 구성 살펴보기 - 4  (0) 2025.05.07
(DB)데이터베이스란  (0) 2025.05.02
(MySQL) 실행  (0) 2025.05.01