Mysql 워크벤치는 진술에 관한 모든 것입니다. 빠른 시작: MySQL Workbench에서 비주얼 데이터베이스 디자인. 데이터 추가 및 편집

MySQL 워크벤치소프트웨어, 데이터베이스 설계를 위해 생성되었습니다. 데이터베이스 운영 및 모델링을 위한 도구 카탈로그가 있는 경우. 이 도구는 고성능이 특징입니다.

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

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

시스템 요구 사항

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

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

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

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

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

MySQL 워크벤치 다운로드

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

플랫폼을 선택한 후 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의 일부로 등장하면서 데이터베이스(DB) 생성 프로세스가 크게 간소화되었습니다. 결국 이전에는 SQL 스크립트를 사용하여 수동으로 수행해야 했던 작업과 명령줄, 친숙한 GUI를 사용하여 "비주얼 모드"에서 수행할 수 있습니다.

MySQL Workbench를 사용하여 데이터베이스를 생성하는 과정을 더 자세히 고려하십시오.

아래 스크린샷은 MySQL Workbench 프로그램 창의 일반적인 보기를 보여줍니다.

데이터베이스를 생성하려면 데이터베이스 목록(SCHEMAS로 표시됨)이 있는 영역의 왼쪽 패널을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴"스키마 만들기"를 선택합니다.

그런 다음 새 데이터베이스의 이름을 지정하고 정렬 옵션을 지정해야 하는 탭이 나타납니다. 예를 들어 데이터베이스 이름은 mynewdatabase로 지정됩니다. 드롭다운 목록에서 정렬 옵션을 선택하거나 기본 옵션을 그대로 둘 수 있습니다(이 예에서는 기본 옵션이 남아 있음).

그런 다음 데이터베이스 생성을 계속하려면 "적용" 버튼을 클릭해야 합니다. 나타나는 대화 상자에 생성된 MySQL Workbench SQL 데이터베이스 생성 스크립트가 표시됩니다. 필요한 경우 이 스크립트를 이 창에서 직접 편집할 수 있습니다.

창 상단에 온라인 DDL 영역이 있습니다. 스크립트 실행 매개변수를 설정하기 위한 것입니다. 이러한 옵션은 이미 존재하는 데이터베이스를 조작할 때 유용할 수 있습니다. 데이터베이스를 생성할 때 기본값("Default")을 그대로 두는 것이 좋습니다.

이 게시물의 목적은 초보 개발자가 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

UPD:

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

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

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

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

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

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




맨 위