외래 키 mysql 워크벤치 만들기. Electronics Workbench 프로그램의 개발 및 시뮬레이션. 데이터 추가 및 편집

MySQL Workbench는 데이터베이스 설계를 위해 만들어진 소프트웨어 제품입니다. 데이터베이스 운영 및 모델링을 위한 도구 카탈로그가 있는 경우. 이 도구는 고성능이 특징입니다.

복잡한 전환에는 소프트웨어 사용을 권장합니다. 테이블에는 저장된 프로세스, 외래 키가 표시됩니다. 스크립트를 작성할 수 있는 통합 셸이 지원됩니다. 우선, 이 프로그램은 시각적인 그래픽 표현을 위한 디자인 도구입니다. 서버를 통한 후속 전송으로 요청을 조정할 수 있는 편집기가 있습니다. 채택된 답변은 표 형식으로 제공됩니다. 렌더링될 때 사용자는 편집할 수 있는 기능을 유지합니다.

등록 및 SMS 없이 공식 웹사이트에서 정식 러시아어 버전의 MySQL Workbench를 무료로 다운로드하십시오.

시스템 요구 사항

  • 지원 OS: 윈도우 10, 비스타, 8.1, XP, 7, 8
  • 비트 심도: 64비트, 32비트, x86

시작 메뉴를 열고 'Workbench'를 입력합니다. 목록에서 MySQL Workbench를 선택합니다.

홈 화면이라는 창이 열립니다.

홈 화면

상단에서 DBMS에 대한 연결 목록을 볼 수 있습니다. 이러한 제어는 DBMS에 연결하여 직접 제어하는 ​​데 사용됩니다.

하단에는 목록이 있습니다 모델. 모델은 데이터베이스를 시각적으로 디자인하는 데 사용됩니다.

사이

"타일" 연결

연결 위로 마우스 커서를 이동하면 "타일"의 모서리가 구부러집니다. 이 "코너"를 클릭하면 DBMS 버전, 마지막 사용 날짜, DBMS 서버 주소, 로그인 등의 연결 정보가 표시됩니다.


연결 정보

오른쪽 하단에는 이 연결을 여는 '연결' 버튼이 있습니다.

"타일" 자체를 클릭하여 연결을 열 수도 있습니다.

목록에서 첫 번째 연결을 엽니다.

SQL 쿼리 편집기

연결을 열면 SQL 쿼리 편집기 창이 열립니다.


SQL 쿼리 편집기 창

중앙에는 쿼리 편집 창이 있습니다.

창의 왼쪽 상단 모서리에 있는 아이콘을 클릭하여 홈 화면으로 돌아갈 수 있습니다.

왼쪽에는 기본 작업과 데이터베이스 개체 목록을 표시하는 네비게이터가 있습니다.

왼쪽 하단 모서리에는 선택한 개체에 대한 정보 창이 있습니다.

오른쪽에는 도움말 창이 있습니다.

아래는 쿼리 히스토리 창입니다.

오른쪽 상단 모서리에는 사이드바를 숨기거나 표시할 수 있는 컨트롤이 있습니다.

쿼리 실행


SQL 편집기 - SQL 쿼리 패널

세계 데이터베이스를 쿼리해 봅시다. 먼저 world 데이터베이스를 활성 데이터베이스로 선택하겠습니다.

이렇게 하려면 네비게이터에서 세계 개체를 찾아 두 번 클릭하거나 마우스 오른쪽 단추를 클릭하고 컨텍스트 메뉴에서 기본 스키마로 설정을 선택하여 선택합니다.

이제 세계 데이터베이스를 쿼리할 수 있습니다.

논평

쿼리를 실행하여 활성 기반을 선택할 수도 있습니다.

사용 schema_name;

예를 들어,

사용 세계;

우선 선택한 데이터베이스의 테이블 목록을 요청합니다. 이렇게 하려면 SQL 쿼리 편집 창에서 다음을 작성하십시오.

보여주다 테이블 ;

쿼리를 입력할 때 이 기능이 활성화된 경우 도움말 창에 입력된 쿼리 구문에 대한 힌트가 자동으로 표시됩니다. 자동 제안을 활성화하려면 도움말 창 왼쪽에서 세 번째 도구 모음 버튼을 클릭하십시오.

그런 다음 쿼리 실행 버튼(노란색 번개)을 클릭하거나 메뉴에서 쿼리 → 실행(모두 또는 선택)을 선택합니다. 단축키 - ctrl + shift + enter

기타 SQL 쿼리 창 표시줄 버튼

SQL 편집기 - 도구 모음

왼쪽에서 오른쪽으로 버튼:

    SQL 스크립트 파일 열기: 이전에 저장한 요청 내용을 파일에서 불러옵니다.

    파일에 SQL 스크립트 저장: 요청을 파일로 저장

    SQL 스크립트 실행: 요청의 선택된 부분을 실행하거나, 아무것도 선택하지 않은 경우 전체 요청을 실행합니다.

    현재 SQL 스크립트 실행: 텍스트 커서가 있는 표현식을 실행합니다.

- **설명(전체 또는 선택)**: 쿼리의 선택된 부분 또는 쿼리 전체에 대해 옵티마이저 작업에 대한 정보를 표시합니다.

    실행 중인 쿼리 중지: 현재 요청을 중단합니다.

    명령문 실패 후 SQL 스크립트 실행을 계속할지 여부를 전환합니다.: 식의 오류에 대한 동작을 토글합니다. 단추에 빨간색 원이 표시되면 식 중 하나가 실행되지 않으면 쿼리 실행이 중단된 것입니다.

    그렇지 않고 녹색 화살표가 표시되면 오류가 있는 식을 건너뛰고 쿼리가 계속됩니다.

    저지르다: 현재 거래 확인

    롤백: 현재 거래를 취소합니다.

    자동 커밋 모드 전환: 사용하도록 설정하면 각 식의 유효성이 자동으로 검사됩니다.

    실행된 쿼리에 대한 제한 설정: 쿼리 결과의 수를 제한합니다.

    SQL을 아름답게: 쿼리 텍스트의 서식을 지정합니다.

    패널 찾기: 쿼리 본문에 검색창을 표시합니다.

    보이지 않는 문자: "보이지 않는" 문자를 표시합니다.

    : 자동 줄 바꿈을 사용합니다.

쿼리 결과 창이 열립니다.

결과 창의 중앙에는 쿼리 결과가 있습니다. 이 경우에는 테이블 이름 목록입니다. 오른쪽에는 표시 스타일 선택 버튼이 있습니다.

  • 결과 그리드– 테이블로(기본값)
  • 양식 편집기- 형식으로. 각 항목은 별도의 페이지에서 열리며 창 상단에는 항목을 탐색하기 위한 화살표가 있습니다.
  • 필드 유형– 결과의 속성 유형을 표시합니다.
  • 쿼리 통계– 다양한 쿼리 통계 표시
  • 실행 경로– 옵티마이저의 알고리즘을 보여줍니다.

Country 테이블이 어떻게 배열되어 있는지 살펴보겠습니다. 이렇게 하려면 다음 명령을 실행하십시오.

국가에서 * 선택;

결과 표시 스타일을 선택합니다. 필드 유형.

논평

쿼리 실행 시작 모두 쿼리 창에 작성되는 식입니다. 쿼리 창에 여러 표현식을 세미콜론으로 구분하여 작성하면 순차적으로 실행됩니다. 따라서 이미 완료된 요청은 삭제하거나 댓글을 달아주세요.

SQL의 주석은 다음과 같이 이중 하이픈으로 시작합니다.

코멘트 -- 테이블 표시; 국가에서 * 선택;

현재 우리는 국가의 이름인 속성(열) 이름과 시민의 평균 기대 수명인 LifeExpectancy에 관심이 있습니다.

평균 수명이 80세 이상인 국가 목록을 표시해 보겠습니다. 이렇게 하려면 쿼리를 실행합니다.

Country 테이블에서 실행할 수 있는 또 다른 쿼리는 정부별 국가 수입니다.

SELECT GovernmentForm, Count (Name) FROM Country GROUP BY GovernmentForm;

데이터베이스 생성

데이터베이스를 생성하려면 쿼리를 실행할 수 있습니다.

CREATE DATABASE db_name;

myFirstDatabase라는 데이터베이스를 만듭니다.

데이터베이스 생성 myFirstDatabase;

개체 목록에 생성된 데이터베이스를 표시하려면 목록의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 모두 새로 고침을 선택합니다.

myFirstDatabase를 활성으로 선택하십시오.

테이블 만들기

id , name , birthday 열로 구성된 People 테이블을 만들어 보겠습니다.

CREATE TABLE 사람 ( ID BIGINT AUTO_INCREMENT 기본 키,이름 TINYTEXT NULL이 아닙니다.생일 날짜 );

참고 그래픽 테이블 생성 도구가 있습니다. 그래픽 데이터베이스 디자인 도구로 작업할 때 이를 분석할 것입니다.

테이블이 생성되었는지 확인합니다.

보여주다 테이블 ;

* 사람들로부터;

데이터 추가 및 편집

테이블의 모든 열이 선택되면 워크벤치에서 쿼리 결과 인터페이스를 통해 직접 레코드를 편집할 수 있습니다. 양식 편집기의 결과를 표시할 스타일을 선택하고 이름 및 생일 속성 값을 입력합니다. 후자는 YYYY-MM-DD 형식으로 입력됩니다(예: 2015년 9월 1일의 경우 2015-09-01 입력).

ID 필드는 비워 둡니다.

결과 창의 오른쪽 하단에 적용 및 되돌리기 버튼이 있습니다. 첫 번째는 INSERT SQL 문을 생성 및 실행하고 두 번째는 변경 사항을 실행 취소합니다.

적용 을 클릭하고 생성된 요청을 보고 적용합니다. 모든 것이 올바르게 완료되면 새 레코드가 테이블에 삽입됩니다. 요청 완료

사람들로부터 * 선택;

다시 한 번 확신합니다.

참고 결과 테이블 표시에서 항목을 추가하고 편집할 수도 있습니다.

데이터 삭제

선택한 행 삭제 도구 모음 버튼을 사용하여 결과 창에서 데이터를 삭제할 수 있습니다.

또 다른 방법은 SQL 쿼리를 실행하는 것입니다.

예를 들어 People 테이블에서 id 값이 있는 항목을 삭제해 보겠습니다.

기존 값 중 일부를 1로 대체합니다.

참고 기본적으로 Workbench는 SQL_SAFE_UPDATES 옵션을 사용하여 쿼리를 실행합니다. 이 옵션은 기본 키(이 경우 id)로 WHERE 절을 지정하지 않고 UPDATE 및 DELETE 쿼리가 작성되지 않도록 합니다.

가져오기 및 내보내기

내보내다

네비게이터에서 데이터 내보내기를 선택합니다. 내보낼 데이터베이스와 테이블을 선택합니다. 선택적으로 내보내려는 다른 개체를 확인하십시오: Dump Stored Procedures and Functions , Dump Events , Dump Triggers .

자체 포함 파일로 내보내기를 선택하고 내보내기가 저장될 파일을 선택합니다.

Include Create Schema를 선택하지 마십시오. 이 옵션은 내보내기에 CREATE DATABASE 문을 포함합니다.

내보내기 시작 버튼을 클릭합니다.

수입

탐색기에서 데이터 가져오기/복원을 선택합니다. 자체 포함 파일에서 가져오기를 선택합니다.

기본 대상 스키마 드롭다운 목록에서 가져올 데이터베이스를 선택합니다. New...를 클릭하여 새 데이터베이스를 생성할 수도 있습니다.

가져오기 시작 을 클릭합니다.

테이블 삭제

테이블을 삭제하려면 쿼리를 사용하십시오.

드롭 테이블 tbl_name;

People 테이블 삭제

드롭 테이블 사람들;

데이터베이스 삭제

데이터베이스를 삭제하려면 쿼리를 사용하십시오.

드롭 데이터베이스 tbl_name;

myFirstDatabase 테이블 삭제

드롭 데이터베이스 myFirstDatabase;

웹 개발자는 자신이 만들고 개발하는 프로젝트와 함께 성장합니다. 프로젝트가 성장함에 따라 소프트웨어 부분의 복잡성이 증가하고 그에 의해 처리되는 데이터의 양이 필연적으로 증가할 뿐만 아니라 데이터 스키마 복잡성. 다른 웹 개발자와의 커뮤니케이션은 MySQL 데이터베이스가 우리 사이에서 매우 인기가 있다는 것을 보여줍니다. PHPMyAdmin. 소규모 프로젝트에서 대규모 프로젝트로, cms에서 프레임워크로 이동하면서 저와 같은 많은 사람들이 여전히 MySQL에 충실합니다. 그러나 많은 수의 테이블과 관계가 있는 복잡한 데이터베이스를 설계하기에는 PHPMyAdmin의 기능이 매우 부족합니다. 그래서 리뷰를 쓰기로 했어요 MySQL Workbench는 MySQL 작업을 위한 멋진 무료 데스크톱 프로그램입니다.

검토의 첫 번째 부분에서는 프로그램 작업의 기본 사항을 다루므로 이 기사를 다음과 같이 사용할 수 있습니다. 초보 사용자 가이드.두 번째 부분은 원격 서버와 작업할 때 전투에서 Workbench를 사용하는 데 전념할 것입니다. 그 안에서 나는 기본을 줄 것이다 지침서버 연결 설정 및 동기화에 대한 권장 사항.

MySQL 워크벤치- MySQL 데이터베이스 시스템을 위한 하나의 완벽한 환경으로 데이터베이스의 설계, 모델링, 생성 및 운영을 통합하는 시각적 데이터베이스 설계 도구입니다.

프로그램이 정말 훌륭하다고 말하고 싶습니다. 빠르고 즐겁게 던질 수 있습니다. 프로젝트 데이터 스키마, 설계 엔터티 및 관계그들 사이에 고통없이 변경 사항 구현계획에 빠르고 고통없이 동기화원격 서버와 연결합니다. 그래픽 편집기 EER 다이어그램재미있는 바퀴벌레를 닮은 , 데이터 모델의 전체 그림을 보고 그 가벼움과 우아함을 즐길 수 있습니다 :) 첫 번째 시도 후 이 도구는 웹 프로그래머의 전투 무기고에서 없어서는 안 될 조수가 됩니다.

MySQL 워크벤치 다운로드

이 페이지에서 MySQL Workbench 배포판을 사용할 수 있습니다. 이 글을 쓰는 시점에서 프로그램의 최신 버전은 버전 6.1. 다운로드하기 전에 다음 플랫폼 중 하나를 선택해야 합니다.

  • 마이크로소프트 윈도우 (MSI 설치 프로그램 및 ZIP 아카이브 사용 가능)
  • 우분투 리눅스
  • 페도라
  • 레드햇 엔터프라이즈 리눅스/오라클 리눅스
  • 맥 OS X

플랫폼을 선택한 후 Oracle에 등록하거나 로그인하라는 메시지가 표시됩니다. 원하지 않으시면 아래에 링크가 있습니다. "아니요, 다운로드를 시작하세요"- 그것을 클릭하십시오;)

일의 시작

프로그램의 시작 화면은 기능의 주요 영역, 즉 데이터베이스 모델 설계 및 관리를 반영합니다.

화면 상단에는 프로젝트의 MySQL 서버에 대한 연결 목록이 있고 최근에 연 데이터 모델 목록은 화면 하단에 있습니다. 작업은 일반적으로 데이터 스키마 생성또는 MySQL Workbench에서 기존 구조 로드. 일하러 가자!

데이터 모델 생성 및 편집

모델을 추가하려면 "모델" 머리글 옆에 있는 더하기 기호를 클릭하거나 "파일 → 새 모델"(Ctrl + N):

이 화면에서 데이터베이스 이름을 입력하고 기본 인코딩을 선택한 다음 필요한 경우 주석 필드를 채웁니다. 테이블 생성을 시작할 수 있습니다.

테이블 추가 및 편집

프로젝트 데이터베이스 목록과 데이터베이스 내의 테이블 목록은 탭에 있습니다. "물리적 스키마".테이블을 생성하려면 더블 클릭 "+테이블 추가":

필드 및 해당 속성 목록을 편집하기 위한 편리한 인터페이스가 열립니다. 여기에서 필드 이름, 데이터 유형을 설정하고 필드에 대한 다양한 속성을 설정할 수 있습니다. 기본 키(PK), 표시 널이 아님(NN), 바이너리(BIN), 고유(UQ)및 기타, 필드 설정 자동 증분(AI)그리고 기본값.

인덱스 관리

탭에서 테이블 인덱스를 추가, 삭제 및 편집할 수 있습니다. "색인"테이블 관리 인터페이스:

인덱스 이름을 입력하고 유형을 선택한 다음 이 인덱스에 참여하는 필드 목록을 필요한 순서로 선택합니다. 필드의 순서는 체크박스를 선택한 순서와 일치합니다. 이 예에서는 필드에 고유 인덱스를 추가했습니다. 사용자 이름.

테이블 간의 관계

외래 키 설정 및 테이블 연결은 테이블에서만 가능합니다. 이노디비(이 스토리지 시스템은 기본적으로 선택되어 있습니다). 각 테이블의 관계를 관리하기 위한 탭이 있습니다. "외래 키":

링크를 추가하려면 탭을 엽니다. "외래 키" 자식 테이블, 외래 키의 이름을 입력하고 선택 상위 테이블. 또한 열의 탭 중간 부분에 하위 테이블과 열에서 키 필드를 선택하십시오. 참조 열- 상위 테이블의 해당 필드(필드 유형이 일치해야 함). 외래 키를 생성할 때 해당 인덱스는 하위 테이블에 자동으로 생성됩니다..

장에서 외래 키 옵션해당 필드가 변경될 때 외래 키의 동작 구성 (업데이트 중)및 제거 (삭제 시)상위 항목:

  • 얽매다- 상위 레코드를 변경/삭제할 때 오류 발생
  • 종속- 상위 레코드가 변경되면 외래 키 업데이트, 상위 레코드가 삭제되면 하위 레코드 삭제
  • NULL 설정- 외래 키 값 설정 없는부모를 변경/삭제할 때 (플래그가 설정된 필드에는 허용되지 않음 NULL이 아닙니다!)
  • 조치 없음-아무것도 하지 않지만 실제로 효과는 RESTRICT와 유사합니다.

위의 예에서 하위 테이블에 추가했습니다. 유저 프로필상위 테이블에 연결할 외래 키 사용자. 필드를 편집할 때 사용자 ID테이블에서 위치 제거 사용자비슷한 변화가 자동으로테이블의 관련 레코드에 발생 유저 프로필.

프로젝트를 생성할 때 데이터베이스에 시작 데이터를 추가해야 하는 경우가 많습니다. 루트 범주, 관리자 사용자 등이 될 수 있습니다. MySQL Workbench 테이블 관리에 이에 대한 탭이 있습니다. "삽입":

예제에서 볼 수 있듯이 데이터베이스에 쓰기 전에 데이터에 일부 MySQL 함수를 적용해야 하는 경우 구문을 사용하여 수행됩니다. \func 함수명("데이터"), 예를 들어, \func md5("암호").

EER 다이어그램 만들기(엔티티-관계 다이어그램)

데이터 스키마, 엔터티 및 해당 관계를 그래픽 형식으로 나타내기 위해 MySQL Workbench에는 EER 다이어그램 편집기가 있습니다. 데이터베이스 관리 화면 상단에 다이어그램을 생성하려면 아이콘을 더블 클릭합니다. "+다이어그램 추가":

인터페이스에서 테이블을 생성 및 편집하고 테이블 사이에 다양한 유형의 링크를 추가할 수 있습니다. 다이어그램에 이미 존재하는 테이블을 다이어그램에 추가하려면 패널에서 끌어다 놓기만 하면 됩니다. 카탈로그 트리.

데이터 스키마를 그래픽 파일로 내보내려면 "파일 → 내보내기"그런 다음 옵션 중 하나 (PNG, SVG, PDF, 포스트스크립트 파일).

기존 데이터 스키마 가져오기(SQL 덤프에서)

데이터 스키마가 이미 있는 경우 추가 작업을 위해 MySQL Workbench로 쉽게 가져올 수 있습니다. SQL 파일에서 모델을 가져오려면 다음을 선택하십시오. "파일 → 가져오기 → 리버스 엔지니어링 MySQL 생성 스크립트...", 원하는 SQL 파일을 선택하고 클릭 "실행>"

MySQL Workbench는 데이터 모델을 원격 서버와 직접 가져오고 동기화하는 기능도 제공합니다. 이를 위해 당신은 생성해야합니다 MySQL에 대한 원격 액세스 연결, 이 리뷰의 연속에서 이야기하겠습니다.

기사의 데모 프로젝트는 이 링크에서 다운로드할 수 있습니다. 나는 당신에게 성공과 아름다운 바퀴벌레 계획을 기원합니다!

모든 웹마스터는 리소스를 개발한 후 프로그래밍 및 데이터베이스 기술을 탐구해야 합니다.


점차 모든 미묘함을 탐구하기 시작하지만 교육 자료를 찾기가 항상 쉬운 것은 아닙니다. 또한 모든 사람이 유용한 프로그램의 존재를 아는 것은 아닙니다.

MySQL 데이터베이스를 만드는 방법은 무엇입니까? 수동으로 테이블을 생성하고 테이블 간의 관계를 설정할 수 있지만 이는 그리 편리하지 않습니다.

무료 Workbench 프로그램은 이를 위해 특별히 제작되었습니다. 이를 통해 MySQL 데이터베이스를 시각적으로 생성할 수 있습니다. 소프트웨어의 도움으로 모델링하는 것이 더 쉽고 편리하며 몇 배 더 빠릅니다.

Workbench는 MySQL 데이터베이스를 만드는 데 도움이 됩니다.

하나의 간단한 도구를 사용하면 더 이상 구조를 설명할 필요가 없습니다. 프로그램이 자동으로 코드를 생성합니다. 이 사이트에서 유틸리티를 다운로드하십시오. 모든 운영 체제에 적합합니다.

프로그램의 정상적인 설치 후, MySQL 데이터베이스를 만들려면 다음 단계를 따르세요.

  1. 먼저 새 모델을 열어야 합니다. 이 작업은 메뉴를 통하거나 Ctrl+N을 눌러 수행됩니다.

  2. 데이터베이스 생성의 첫 번째 단계는 테이블을 추가하는 것이므로 적절한 기능을 선택합니다.

  3. 다음으로 테이블이 채워집니다. 이름과 속성을 지정하고 속성 중 하나가 플래그가 지정된 마스터 키임을 명심하십시오. 그러면 테이블이 서로 연결되는 방식을 미리 생각해 보십시오.

  4. 필수 데이터를 입력한 후 주제 간의 관계를 결정하는 다이어그램을 작성하십시오.
  5. 작업 공간에 테이블이 표시됩니다. 편의를 위해 테이블 ​​구조를 확장할 수 있습니다.

  6. 이제 요소 사이의 링크를 설정해야 합니다. 이 작업은 작업 패널의 특수 도구를 사용하여 수행됩니다.
  7. 결과적으로 작업 공간에 테이블과 테이블 사이의 링크가 있어야 합니다.

  8. 연결을 두 번 클릭하면 추가 매개변수가 설정된 창이 열립니다.

이 게시물의 목적은 초보 개발자가 Oracle의 MySQL Workbench 비주얼 데이터베이스 디자인 도구를 사용하여 간단한 데이터베이스에 빠르게 익숙해지고 디자인하고 ER 모델 및 SQL 덤프를 얻을 수 있도록 돕는 것입니다.

글쎄, 적은 단어와 더 많은 의미! 프로그램 창의 모양인 "데이터 모델링" 섹션은 다음과 같습니다.

기존 모델을 열려면 다음 링크를 클릭하십시오. 기존 EER 모델 열기, 새 모델을 생성하려면 매개변수를 선택합니다. 새 EER 모델 만들기기존 데이터베이스에서 엔터티 관계 모델을 만들려면 다음 옵션을 클릭하십시오. 기존 데이터베이스에서 EER 모델 생성, SQL 스크립트에서 EER 모델을 생성하려면 다음을 선택해야 합니다. SQL 스크립트에서 EER 모델 생성.
새 모델을 만들려면 새 EER 모델 만들기 링크를 사용하고 클릭하면 매개변수가 있는 창이 표시됩니다.

먼저 테이블을 만들어야 합니다. 이렇게 하려면 버튼을 클릭합니다. 테이블 추가, 다음 양식이 나타납니다.

먼저 테이블을 생성하자 사용자, 정보 시스템 사용자에 대한 데이터를 현장에 저장합니다. 테이블 이름양식 섹션에 테이블 이름을 입력하십시오. 테이블 필드 생성:
- 첫 번째 필드 ID고유한 사용자 번호를 포함하고 해당 속성을 설정합니다. 자동 증가, Null 아님, 기본 키그리고 고유한, 장에서 데이터 형식정수 유형 선택 정수.
- 저장될 두 번째 필드 fio 전체 이름.사용자, 속성 필드를 설정합니다. 널이 아님, 기본 키, 장에서 데이터 형식문자열 유형 선택 VARCHAR 255 .
- 세 번째 필드 로그인, 사용자의 로그인을 포함하며 필드와 같이 고유해야 합니다. ID, 속성을 설정합시다 고유한에서 문자 수를 설정하십시오. 255 .
- 다음 필드: 비밀번호암호를 포함하는 이메일이메일 주소와 필드를 포함하는 유형사용자 유형을 포함하는 것은 특별한 속성 없이 문자열 유형을 사용합니다. VARCHAR오랫동안 255 마지막 필드를 제외한 문자 유형누가 충분히 했어 45 문자.
조작이 끝나면 테이블 이름이 있는 양식 사용자다음과 같이 표시됩니다.

차트에 표가 나타납니다. 사용자필드와 인덱스 포함:

같은 방법으로 테이블을 만들어 봅시다. 설정필드가 포함된 IS 데이터베이스에 대한 액세스 설정 포함 ID, 주인호스트 이름(서버 주소)을 지정하려면 DB- 데이터베이스의 이름, 사용자그리고 비밀번호원격 서버에 IP를 설치하기 위한 사용자 이름과 암호를 사용합니다.

다음으로 이미 알려진 방법을 사용하여 필드에 매장에 대한 데이터를 저장할 매장 테이블을 만듭니다. ID유형 정수– 키, 0이 아닌 값, 자동 증가가 있는 고유함, 필드 이름상점 이름 필드 주소– 물리적 주소, 필드 전화- 전화번호 저장 대지– 매장 및 현장 홈페이지 이메일상점의 이메일 주소로.

그런 다음 테이블을 만듭니다. 제품매장 제품에 대한 데이터를 필드에 저장: ID유형 정수– 키, 0이 아닌, 자동 증가가 있는 고유, 저장소 이름을 저장하는 이름 필드, 키, 정수 유형의 0이 아닌 필드 shop_id매장 번호, 필드 type_id제품 유형 표의 항목 번호에 대한 정보와 함께. 브랜드 필드는 제조업체의 브랜드이며 길이는 255자입니다. 모델– 제품 모델, 필드 포함 데이터– 제품 유형의 데이터 및 특성 Tinytext, 필드 이미지 255자 길이의 제품 이미지에 대한 전체 주소와 제품 가격이 포함된 가격 필드 및 보증 45자 길이의 제품 보증 기간에 대한 정보가 포함되어 있습니다.

우리가 만든 테이블 설정, 상점그리고 제품다음과 같이 보입니다.

다음으로 제품 유형을 저장하는 테이블이 필요합니다. 상품 유형, null이 아닌 고유한 키 필드로 구성됩니다. ID정수 유형의 자동 증가 및 제품 유형의 이름을 포함하는 255자 길이의 고유한 이름 필드가 있습니다.

테이블 보기는 다음과 같습니다.

마지막 두 테이블은 명령그리고 배달, 첫 번째는 고객 주문에 대한 정보와 제품 배송에 대한 마지막 데이터를 포함합니다.

테이블 필드 명령: ID키, 널이 아닌, 자동 증가가 있는 정수 유형의 고유한 필드, 필드 shop_id매장 번호 포함 - 키, 0이 아닌 정수 유형 필드 제품 ID제품 번호 저장 - 키, 0이 아닌 정수 유형 필드 피오 날짜주문 날짜 포함 - 유형 날짜, 필드 수량주문건수 – 정수형, 필드 전화고객의 전화번호 - 길이가 255자인 문자열 유형 및 주문 확인에 대한 정보를 포함하는 확인 필드 - 부울 유형.

테이블 필드 배달: 주문 아이디주문 번호 포함 - 키, 0이 아닌 고유한 정수 유형 필드(자동 증가 포함), 필드 필드 피오주문을 한 사용자의 번호 - 키, 0이 아닌 정수 유형 필드 주소고객이 지정한 상품의 배송 주소 저장 - 255자 길이의 문자열 형식, 필드 시간원하는 상품의 배송시간 저장 - 255자 길이의 스트링 타입, 필드 날짜고객이 주문한 날짜(예: 날짜부울 필드 확인하다상품 배송에 대한 정보를 저장합니다.

테이블 명령그리고 배달다음과 같이 보입니다.

테이블 관계

우리는 7개의 테이블로 구성된 데이터베이스를 만들었고 이제 테이블을 연결해야 합니다. 이미 정수 유형의 키 필드를 만들었으므로 연결의 기초가 될 것입니다.
예를 들어 두 개의 테이블을 연결하려면 제품그리고 상품 유형, 제품 테이블이 있는 다이어그램에서 마우스 왼쪽 버튼을 두 번 클릭하고 탭을 선택해야 합니다. 외래 키(외래 키) 그런 다음 필드에서 외래 키 이름고유한 외래 키 이름을 입력하고 탭을 두 번 클릭합니다. 참조 테이블테이블 선택 상품 유형, 오른쪽에 있는 양식에서 참조 필드를 선택합니다. type_id팝업 목록에서 필드를 선택합니다. ID.

따라서 테이블의 두 필드가 연결되면 테이블 간의 관계 유형을 설정하고 나타나는 테이블 간의 관계를 클릭하여 창을 열고 탭을 선택해야 합니다. 외래 키그리고 섹션에서 카디널리티일대다 관계 유형을 선택하고 창을 닫습니다. 다이어그램은 테이블의 관계를 표시합니다.

마찬가지로 논리적으로 상호 연결되도록 테이블의 모든 키 필드를 연결한 다음 설계된 데이터베이스가 제3정규형에 해당하는지 확인해야 합니다.

정규형- 관계형 데이터 모델에서 관계의 특성으로, 데이터 샘플링 또는 변경 시 논리적으로 잘못된 결과를 초래할 수 있는 중복성 측면에서 특징지어집니다. 정규 형식은 관계가 충족해야 하는 요구 사항 집합으로 정의됩니다.

관계형 모델에서 관계는 관계 개념의 정의에 따라 항상 제1정규형입니다. 다양한 테이블은 관계의 올바른 표현이 아닐 수 있으므로 제1정규형이 아닐 수 있습니다. 관계 변수는 제1정규형이고 키가 아닌 모든 속성이 후보 키에 종속된(기능적으로 완전) 경우에만 제2정규형입니다. 데이터베이스가 제2정규형으로 캐스트되고 키가 아닌 각 열이 서로 독립적인 경우 데이터베이스는 제3정규형이 됩니다.

따라서 우리의 밑은 제3정규형입니다. 키가 아닌 각 열은 서로 독립적입니다. 이는 데이터베이스 다이어그램에서 명확하게 볼 수 있습니다.

테이블을 제외한 대부분의 테이블은 일대다 관계에 있습니다. 배달그리고 명령일대일 관계에서 배달, 하나의 주문만 있을 수 있습니다. 하나의 주문에는 하나의 배송만 있습니다. 나머지 연결은 위에 명확하게 표시되어 있습니다.

이제 데이터베이스를 서버에 업로드하겠습니다. 이렇게 하려면 링크를 클릭하여 데이터베이스에 대한 새 연결을 만듭니다. 새로운 연결프로그램의 시작 창에서:

그런 다음 열리는 창의 필드를 입력합니다.

필드에 연결 이름을 지정하십시오. 연결 이름, 목록에서 연결 방법을 선택합니다. 연결 방법, 탭에서 호스트 이름과 포트를 설정합니다. 매개변수, 존재하는 경우 사용자 이름과 암호를 지정하고 확인 버튼을 클릭합니다. 그런 다음 탭을 엽니다. EER 다이어그램, 패널에서 항목 선택 데이터 베이스옵션을 클릭하십시오 포워드 엔지니어:

창이 나타나면 버튼을 클릭하십시오. "다음", 매개변수 선택 MySQL 테이블 개체 내보내기그리고 버튼을 누르세요 "다음":

버튼을 누르면 SQL 코드가 있는 탭이 나타나며, 버튼을 눌러 저장할 수 있습니다. 파일에 저장필요한 경우 버튼을 클릭합니다. "다음". 연결 매개변수가 있는 창이 나타납니다.

연결 매개변수가 올바른지 확인하고 버튼을 클릭합니다. "실행하다", SQL 코드에 오류가 없으면 코드 실행 후 테이블 목록이 있는 창이 표시되고 그렇지 않으면 오류 메시지가 표시됩니다. 이제 데이터베이스가 서버에 업로드되었습니다.

관심을 가져 주셔서 감사합니다. 프로그램 자체를 다운로드하십시오.

UPD:

일부 habravchans는 필드 간 모드에서 테이블 링크 라인을 표시하는 기능에 관심이 있었습니다.

사용자 중 한 사람의 조언에 따라 관계 및 테이블의 모양을 변경하는 방법에 대해 간략하게 설명하겠습니다. 이를 위해 메뉴 섹션에서 다음 옵션을 선택해야 합니다. 관계 표기법:

그 후 테이블 관계는 다음과 같은 형식을 취합니다.

표의 모양을 변경할 수도 있습니다. 이를 위해 위의 메뉴 섹션과 다음 항목에서 상자를 선택해야 합니다. 객체 표기법:

다음은 다이어그램의 테이블이 IDEF1X 표준으로 축소된 것처럼 보이는 방식입니다.

도움이 되는 댓글 감사합니다!