본문 바로가기
🛢 3. Database/3-1 Mysql

[Database] 04. 테이블 생성하기

by 달님🌙 2021. 9. 8.
반응형

 

다이어그램 종류

 

1. ERD 란?

 

- ERD는 말로 되어있는 요구분석사항을 그림으로 그려내어 그 관계를 도출하는 것

- 데이터 모델링 분야에서 "개체-관계 모델(Entity Relationship Model)"이란 구조화된 데이터에 대한 일련의 표현이다

 

2. 개념적 ERD 만들기

 

 

 

3. DB 정규화 

 

 

4. 테이블 정의서

 

 

 

5. 논리적 ERD

 

 

 

6. workbench에서 다이어그램 만든 예시

 

* 우리도 이런식으로 만들 예정

 

 

workbench로 ERD Diagram 생성하기(불러오기)

 

 

1. workbench에서 데이터베이스 선택하여 Reverse 시작

 

 

 

Select Schemas to Reverse Engineer 항목의 Select the schemas you want to include: 

[v]database_modeling 체크하기

* 다 Next 누르고 close 하면 아래와 같은 모눈종이가 나옴

* Execute : 체크한 DB의 내용을 가져온다.

 

 

2. 개체 생성하기

 

[Catalog Tree] : mydb(그림을 그리기 위한 DB)

메뉴의 테이블 아이콘 클릭 후 모눈 화면 클릭 > 생성된 테이블아이콘 더블클릭 or 마우스오른버튼 Edit

[Notice] 테이블 생성

 

3. 테이블 관계 설정하기

 

 

* 관계 아이콘 클릭 후 해당 테이블을 클릭하여 연관관계(relationship)를 설정한다.

 

 

4. 테이블 완성

 

 

 

 

5. database > forward 를 통해 코드 내보내기 (사용하기 위해)

 

 메인 메뉴(Database) > Foward Engineer... 

 

Next -> Next -> Next ...

 

CREATE TABLE 소스 코드 복사

 

SQL 파일 생성해서 코드 붙여넣기 후 전체 선택 (Ctrl+A)  ->  전체 실행 (Ctrl + Shift + Enter)

 

새로고침 버튼을 눌러주면 이렇게 테이블들이 생성된 것을 볼 수 있음

 

 

workbench 기능 소개

 

1. i (정보) 표시 누르기

 

2. DDL 클릭 

- 2.테이블 생성하기 단계에서 일일이 만든 테이블을 코드 형태로 볼 수 있음 

* 테이블 생성하고 싶어하는 사람들한테 이 코드를 보내주면 똑같은 테이블을 생성할 수 있음

 

3. 스패너 모양 클릭

- 우리가 아까 만든 과정이 다시 등장하게 됨

 

4. 이 부분을 누르면 SELECT 명령어가 자동으로 나옴

 

5. 파일 불러오는 방법 (Import)

* 사실 폴더에서 파일 바로 끌어와도됨

 

 

DDL 명령어 사용하여 생성

    

1. SQL의 구분

 

1) DDL(Data Definition Language) ★ 

    : CREATE/ALTER/DROP 데이터베이스, 테이블 생성/수정/삭제

  

2) DML(Data Manipulation Language) ★★★

    : INSERT/SELECT/UPDATE/DELETE 

     DBMS에게 CRUD 즉, 데이터 조작(생성/조회/수정/삭제)을 요청한다.

 

3) DCL(Data Control Language)★

    : GRANT/REVOKE 계정 관리(생성/삭제/권한부여 등)



2. 개념화된 데이터의 정의 : 속성, 컬럼, 필드

 

- 프로그래밍에서 데이터를 다룬다는 의미는 정수, 실수, 문자 단위의 데이터가 아니라 그것들을 조합한 큰단위 데이터

- 즉, 구조화된 학생데이터, 주문데이터, 성적데이터... 이다. 이러한 데이터들은 속성이 업무에 따라 다르다.

- 따라서 DBMS에게 업무(도메인)따라 정의된 데이터 규격을 전달하여 관리(정의/변경/삭제)하도록 요청한다.

 

* DBMS 내장 데이터 타입으로 교체

 

 

 

* 주의사항! 

class Member{}

CREATE TABLE `Member`();



 

반응형

댓글