인터넷 쇼핑몰 구축을 위한 쇼핑몰 DB 생성

  • 스키마(Schema) 생성
    • MySQL에서는 스키마와 데이터베이스가 완전히 동일한 용어로 사용됨
CREATE SCHEMA `shopdb`;

 

  • 테이블 생성
    • 회원테이블, 제품 테이블 각 열의 영문 이름 및 데이터 형식 결정
    • MySQL은 기본적으로 테이블의 이름, 열 이름 등을 모두 소문자로 처리
CREATE TABLE `shopdb`.`membertbl` (
 `memberID` CHAR(8) NOT NULL,
 `memberName` CHAR(5) NOT NULL,
 `memberAddress` CHAR(20) NULL,
 PRIMARY KEY (`memberID`));
 
 CREATE TABLE `shopdb`.`producttbl` (
  `productName` CHAR(4) NOT NULL,
  `cost` INT NOT NULL,
  `makeDate` DATE NULL,
  `company` CHAR(5) NULL,
  `amount` INT NOT NULL,
 PRIMARY KEY (`productName`));

 

 
데이터 입력

  • 행 데이터 입력
INSERT INTO `shopdb`.`membertbl` (`memberID`, `memberName`, `memberAddress`) VALUES ('Dang', '당탕이', '서울 부천시구 중동');
INSERT INTO `shopdb`.`membertbl` (`memberID`, `memberName`, `memberAddress`) VALUES ('Jee', '지운이', '서울 은평구 증산동');
INSERT INTO `shopdb`.`membertbl` (`memberID`, `memberName`, `memberAddress`) VALUES ('Han', '한주연', '인천 남구 주안동');
INSERT INTO `shopdb`.`membertbl` (`memberID`, `memberName`, `memberAddress`) VALUES ('Sang', '상길이', '경기 성남시 분당구');

INSERT INTO `shopdb`.`producttbl` VALUES ('컴퓨터', 10, '2021-01-01', '삼성', 17);
INSERT INTO `shopdb`.`producttbl` VALUES ('세탁기', 20, '2022-09-01', 'LG', 3);
INSERT INTO `shopdb`.`producttbl` VALUES ('냉장고', 5, '2023-02-01', '대우', 22);

 

 
데이터의 활용

  • 데이터 출력 : SELECT 열 이름 FROM 테이블 이름 [WHERE 조건] ;
    • 모든 데이터 출력하기 (열 이름 대신 ' * ' )
    • 열을 선택해 데이터 출력하기 (열 이름 나열)
    • 특정 데이터를 만족하는 데이터 출력하기 (WHERE절에 조건 입력)
Q. membertbl에 있는 회원 이름과 주소만 가져오자.
 select memberName, memberAddress from membertbl;​


Q. membertbl에서 이름이 '지운이'에 대한 정보를 가지고 오자.

select * from membertbl where memberName = '지운이';​
  • 테이블 삭제 : DROP TABLE 테이블 이름 ;
DROP TABLE testtbl;

 


Reference : 이것이 MySQL이다!

 
 
 
 
 
 

정보시스템 구축 절차 요약

  • 분석, 설계, 구현, 시험, 유지보수의 5가지 단계
  • 분석
    • 구현하고자 하는 프로젝트의 가장 첫 번째 단계
    • 시스템 분석 또는 요구사항 분석이라고 불림
    • 요구사항 분석은 현재 우리가 '무엇을(What)' 할 것인지 결정하는 것
    • 사용자의 인터뷰와 업무 조사 등을 수행
    • 프로젝트의 첫 단추를 끼우는 중요한 단계
    • 분석의 결과로 많은 문서 작성
  • 설계
    • 시스템 설계 또는 프로그램 설계
    • 구축하고자 하는 시스템을 '어떻게(How)' 할 것인지 결정
    • 대부분의 프로젝트에서 분석과 설계의 과정이 전체 공정의 50% 이상 차지

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

  • 데이터베이스 모델링
    • 현실세계에서 사용되는 데이터를 MySQL에 어떻게 옮겨 놓을 것인지를 결정하는 과정
    • 저장할 정보는 테이블(Table)이라는 형식에 맞춰 저장
  • 데이터
    • 하나하나의 단편적인 정보
    • 정보는 있으나 아직 체계화 되지 못한 상태
  • 테이블
    • 데이터를 입력하기 위해 표 형태로 표현한 것
    • ex) 회원 정보 테이블, 제품 정보 테이블
  • 데이터베이스(DB)
    • 테이블이 저장되는 저장소
    • 각 데이터베이스는 서로 다른 고유한 이름을 가지고 있음
  • DBMS(DataBase Management System)
    • 데이터베이스를 관리하는 시스템 또는 소프트웨어
  • 열(Column, Feild) 
    • 속성을 나타내는 값으로, 각 테이블은 열로 구성됨
    • 회원 테이블의 경우에는 아이디, 회원 이름, 주소 등의 열로 구성
    • 열 이름은 각 테이블 내에서 중복되어서는 안되며 고유한 값을 가져야 함
  • 데이터 형식
    • 열의 데이터 형식을 말하며 테이블을 생성할 때 열 이름과 함께 지정
  • 행(Row, Record)
    • 실질적인 데이터로 행의 수가 곧 데이터의 수가 됨
    • 회원 테이블의 경우 행의 수는 회원의 수를 의미함
  • 기본 키 (Primary Key)
    • 각 행을 구분하는 열로 반드시 고유한 값을 가짐
    • 중복되거나 비어있어서는 안됨
    • 각 테이블마다 기본 키는 하나만 지정
  • 외래 키(Foreign Key)
    • 두 테이블의 관계를 맺어주는 열
    • 반드시 고유한 값일 필요는 없음

Reference : 이것이 MySQL이다!

'SQL' 카테고리의 다른 글

06. [SQL] 조인  (0) 2024.04.08
05. [SQL] SELECT문  (1) 2024.04.07
04. [SQL] 테이블 외의 데이터베이스 개체의 활용  (1) 2024.04.07
03. [SQL] MySQL을 이용한 데이터베이스 구축  (0) 2024.04.07
01. [SQL] DBMS 개요  (0) 2024.04.03

데이터베이스의 정의와 특징

데이터베이스

  • 데이터의 집합
  • 여러 명의 사용자나 응용프로그램이 공유하는 데이터들
  • 동시 접근이 가능
  • 데이터의 저장공간 자체

DBMS

  • 데이터베이스를 관리 및 운영하는 역할

 

DB/DMBS의 특징

  • 데이터의 무결성(Integrity)
    • 데이터베이스 안의 데이터는 오류가 없어야 함.
    • 제약조건(Constrain)이라는 특성을 가짐.
  • 데이터의 독립성
    • 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소 변경시 기존에 작성된 응용프로그램은 전혀 영향을 받지 않아야 함.
  • 보안
    • 데이터베이스 안의 데이터에 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있어야 함.
    • 접근할 때에도 사용자의 계정에 따라서 다른 권한을 가짐
  • 데이터 중복의 최소화
    • 동일한 데이터가 여러 개 중복되어 저장되는 것을 방지
  • 응용프로그램 제작 및 수정이 쉬움
    • 통일된 방식으로 응용프로그램 작성 가능
    • 유지보수 또한 쉬워짐
  • 데이터의 안전성 향상
    • 대부분의 DBMS가 제공하는 백업/복원 기능 이용
    • 데이터가 깨지는 문제가 발생할 경우 원상으로 복원, 복구하는 방법이 명확해짐

 
데이터베이스의 발전

  • 파일시스템 사용
    • 컴퓨터 파일에 기록/저장 - 메모장, 엑셀 활용
    • 컴퓨터에 저장된 파일의 내용은 읽고, 쓰기가 편한 약속된 형태의 구조 사용
    • 데이터의 양이 많아지면 데이터 중복으로 인한 불일치 위험
  • 데이터베이스 관리시스템
    • 파일시스템의 단점 보완
    • 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용
    • DBMS - DataBasa Managemant System
    • 데이터의 집합인 데이터베이스를 잘 관리하고 운영하기 위한 시스템 또는 소프트웨어
  • SQL(Structured Query Language)
    • DDBMS에 데이터 구축/관리/활용을 위해서 사용되는 언어
    • DBMS를 통해 중요한 정보들을 입력, 관리, 추출

 

DBMS 분류

  • 계층형 DBMS
    • 처음으로 나온 DBMS 개념 - 1960 년대에 시작
    • 각 계층은 트리(Tree) 형태, 1:N 관계
    • 문제점
      1. 처음 구축한 이후 그 구조를 변경하기가 상당히 까다로움
      2. 주어진 상태에서의 검색은 상당히 빠름
      3. 접근 유연성이 부족해서 임의의 검색은 어려움
  • 망형 DBMS
    • 계층형 DBMS의 문제점을 개선하기 위해 1970년대에 시작
    • 1:1, 1:N, N:M(다대다) 관계 지원 - 효과적이고 빠른 데이터 추출
    • 복잡한 내부 포인터 사용 - 프로그래머가 이 모든 구조를 이해해야만 프로그램의 작성 가능

관계형 DBMS (Relational DBMS)의 장단점

  • 장점
    • 다른 DBMS에 비해 업무가 변화될 경우 쉽게 변화에 순응
    • 유지 보수 측면에서 편리
    • 대용량 데이터의 관리와 데이터 무결성(Integration)보장
  • 단점
    • 시스템 자원을 많이 차지해 시스템이 전반적으로 느려짐 -→ 하드웨어 발전으로 해결

SQL 개요

  • SQL (Structured Query Language)
    • 관계형 데이터베이스에서 사용되는 언어,
    • DBMS 제작 회사와 독립적
    • 다른 시스템으로 이식성이 좋으며 표준이 계속 발전중
    • 대화식 언어
    • 분산형 클라리언트/서버구조

 

MySQL의 개요

  • Oracle사에서 제작한 DBMS 소프트웨어
  • 대량의 데이터를 관리해주는 소프트웨어
  • 오픈 소스 (Open Source) 로 제공

 


Reference : 이것이 MySQL이다!

+ Recent posts