MySQL 연습

Jun·2022년 2월 8일
0

요구사항 분석

여행사에 대한 요구사항 분석 (고객이 여행사 사이트에서 여행상품 구매)
1. 고객들은 주민등록번호, 이름 , 여권번호, 아이디, 비밀번호를 사용하여 여행사에 가입한다.
2. 여행사는 사업 번호, 주소, 전화번호를 갖는다.
3. 한 고객은 날짜가 안 겹치는 여러 상품을 선택할 수 있다.
4. 한 여행사는 국가, 인원, 상품 번호, 시간, 날짜를 가지고 있는 다양한 여행상품을 제공한다.
5. 항공사는 항공 번호, 항공 이름, 출발지, 도착지를 갖는다.
6. 여러 항공사는 여러 티켓을 제공한다.
7. 고객이 상품을 주문하면 여행사는 해당 상품에 대한 티켓을 항공사에 요청한다.
8. 주문에는 주문번호, 고객 주민등록번호, 상품 번호가 있다.
9. 항공사는 상품 주문에 대한 티켓을 발급한다.
10. 티켓에는 티켓 번호, 항공 번호, 상품 번호, 고객의 주민등록번호를 갖고있다.
11. 여러 티켓은 한 명의 고객에게 전달된다.
12. 고객은 티켓을 발급받고 포인트를 받는다.

개체와 속성

  1. 고객 – 주민등록번호, 여권번호, 이름 , 아이디, 비밀번호, 포인트.
  2. 주문 – 주문번호, 주민등록번호, 상품 번호
  3. 여행사 – 사업 번호, 주소, 전화번호.
  4. 여행상품 – 상품 번호, 국가, 인원, 시간, 날짜.
  5. 티켓 – 티켓 번호, 주민등록번호, 상품 번호, 항공 번호.
  6. 항공사 – 항공 번호, 항공 이름, 출발지, 도착지.

요구사항 SQL문 작성

데이터 베이스 생성

	CREATE DATABASES travel_acency;

여행사 테이블 생성

CREATE TABLE travel_agency 
			(
				business_num INT NOT NULL,
				address VARCHAR(150) NOT NULL,
				phone_number INT NOT NULL,
				PRIMARY KEY (business_num)
			);

고객 테이블 생성


		CREATE TABLE customer 
			(
				social_num INT NOT NULL,
				passport_num VARCHAR(150) NOT NULL,
				user_name VARCHAR(40) NOT NULL,
				user_id VARCHAR(40) NOT NULL,
				user_password VARCHAR(100) NOT NULL,
				curr_point INT NOT NULL,
				PRIMARY KEY (social_num)
			);

여행상품 테이블 생성

		CREATE TABLE travel_products
			(
				product_num INT NOT NULL,
				country VARCHAR(20) NOT NULL,
				number_of_people INT NOT NULL,
				travel_date VARCHAR(20) NOT NULL,
				PRIMARY KEY (product_num)
			);

항공사 테이블 생성

		CREATE TABLE airline 
			(
				airline_num INT NOT NULL,
				airline_name VARCHAR(10) NOT NULL,
				PRIMARY KEY (Airline_num)
			);

티켓 테이블 생성

		CREATE TABLE airline_ticket 
			(
				ticket_num INT NOT NULL,
				airline_id INT NOT NULL,
				product_id INT NOT NULL,
				social_id INT NOT NULL,

				PRIMARY KEY (ticket_num)

				FOREIGN KEY (airline_id) REFERENCES airline (airline_num)
				ON DELETE CASCADE ON UPDATE CASCADE,

				FOREIGN KEY (product_id) REFERENCES travel_ products (product_num)
				ON DELETE CASCADE ON UPDATE CASCADE,

				FOREIGN KEY (social_id) REFERENCES customer (social_num)
				ON DELETE CASCADE ON UPDATE CASCADE,

			);

MySQL 쿼리문

  1. 데이터베이스 확인
    Show databases;

  2. 데이터베이스 생성 및 삭제
    Create databases 데이터베이스명 / drop databases 데이터베이스명

  3. 데이터베이스 선택
    Use 데이터베이스명

  4. 선택된 데이터 베이스에 테이블 생성
    CREATE TABLE table_name (column_name column_type);

Not Null은 필수로 데이터가 입력이 되어야 한다는 것.
Auto_Increament 는 데이터가 추가될때 자동적으로 증가되는 수.
Primary_key 는 기본키 설정

테이블 컬럼 타입 종류

String type
Char
Varchar
Text

Numeric Type
Int
Boolean

Data types
date

0개의 댓글