최상의 답변
기본 키 는 열 또는 열 집합에 대한 특수 제한. 기본 키 제약 조건은 이렇게 지정된 열에 NULL 값이없고 모든 값이 고유하도록합니다. 물리적으로 기본 키는 고유 인덱스를 사용하여 데이터베이스 시스템에 의해 구현되며 기본 키의 모든 열은 NOT NULL로 선언되어야합니다. 테이블에는 기본 키가 하나만있을 수 있지만 복합 (두 개 이상의 열로 구성) 일 수 있습니다.
대리 키 는 “실제”또는 대신 기본 키로 선언 할 수있는 모든 열 또는 열 집합 키 . 때로는 기본 키로 선언 할 수있는 여러 개의 자연 키가있을 수 있으며 이러한 키를 모두 후보 키 라고합니다. 따라서 대리자는 후보 키입니다. 이것은 드문 일이지만 테이블에는 실제로 둘 이상의 대리 키가있을 수 있습니다. 가장 일반적인 대리 키 유형은 MySQL의 auto\_increment 열, Oracle의 시퀀스 또는 SQL Server의 ID 열과 같은 증분 정수입니다.
대리 키 사용의 이점
언급했듯이 대리 키는 데이터의 원래 컨텍스트 일부를 희생합니다. 그러나 다음과 같은 이유로 분석 목적에 매우 유용 할 수 있습니다.
- 대리 키는 고유합니다. 대리 키는 시스템 생성, 시스템에서 중복 값을 생성하고 저장할 수 없습니다.
- 대리 키는 모든 레코드에 균일 한 규칙을 적용합니다. 서로 게이트 키 값은 시스템 생성 값을 생성하는 프로그램의 결과입니다. 프로그램의 결과로 생성 된 모든 키는 각 레코드에 대해 균일 한 규칙을 적용합니다.
- 대리 키는 시간의 시험을 견뎌냅니다. 대리하기 때문에 키에는 컨텍스트 나 비즈니스 의미가 없으므로 나중에 키를 변경할 필요가 없습니다.
- 대리 키는 무제한 값을 허용합니다. 순차, 타임 스탬프 및 임의 키는 고유 한 조합에 대한 실질적인 제한이 없습니다.
답변
오늘날 대부분의 데이터베이스는 실제로 데이터베이스 관리 시스템 (DBMS)입니다. 이는 두 가지 구성 요소로 구성됩니다.
- 데이터베이스 proper , 관계, 제약과 같은 메타 데이터와 함께 데이터를 저장합니다. 등…
- 개발자 및 / 또는 데이터베이스 관리자가 SQL 명령을 입력하는 사용자 인터페이스
대부분의 데이터베이스는 인터페이스를위한 명령 줄 유틸리티와 함께 제공됩니다. 데이터베이스와 함께. 예를 들어, MySQL은 입력 줄 편집 기능이있는 간단한 SQL 셸을 제공합니다. 대화 형 및 비대화 형 사용을 지원합니다. 대화식으로 사용하면 쿼리 결과가 ASCII 테이블 형식으로 표시됩니다. 비대화 형으로 (예 : 필터로) 사용되는 경우 결과는 탭으로 구분 된 형식으로 표시됩니다. 출력 형식은 명령 옵션을 사용하여 변경할 수 있습니다.
명령 인터프리터의 프롬프트에서 MySQL 셸을 호출하려면 다음과 같이 입력합니다.
shell> mysql --user=user\_name --password db\_name
Enter password: your\_password
데이터베이스에 로그인하면 SELECT 쿼리와 같은 명령을 실행할 수 있습니다. , 반대 :
shell>SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 1 | A | 3.45 |
| 1 | B | 3.99 |
| 2 | A | 10.99 |
| 3 | B | 1.45 |
| 3 | C | 1.69 |
| 3 | D | 1.25 |
| 4 | D | 19.95 |
+---------+--------+-------+
또한 SQL 문을 파일에 넣고 그런 다음 mysql에게 해당 파일에서 입력을 읽도록 지시하십시오. 이렇게하려면 실행하려는 명령문이 포함 된 텍스트 파일을 만듭니다. 그런 다음 다음과 같이 mysql을 호출합니다.
shell> mysql db\_name < text\_file
일부 데이터베이스 공급 업체는 명령 외에도 GUI 클라이언트와 유틸리티를 제공합니다. 라인 클라이언트. MySQL을 유지하면서 GUI 클라이언트는 MySQL Workbench입니다. Windows, Linux 및 Mac OS X에서 사용할 수있는 MySQL Workbench는 데이터베이스 설계자, 개발자 및 DBA를 대상으로합니다. 서버 구성, 사용자 관리, 백업 등에 대한 데이터 모델링, SQL 개발 및 포괄적 인 관리 도구를 제공합니다.
기타 도구
데이터베이스 공급 업체 자체에서 제공하는 도구 외에도 인기있는 모든 사용자가 사용할 수있는 다른 많은 오픈 소스 및 상용 제품이 있습니다. 데이터베이스 유형 및 클라우드 서비스. 차이점 측면에서 볼 때 무료 및 상용 제품은 모두 목적에 적합합니다.어떤 제품을 사용 하느냐가 일반적으로 사용성보다는 어떤 유형의 작업을하는지에 따라 달라집니다.
오픈 소스와 상용 제품 모두에서 꽤 많은 작업을하면서 점차적으로 후자는 IT 컨설턴트로서의 업무에서 업무 효율성이 더욱 중요 해짐에 따라 개인적으로 상업용 제품은 일반적인 작업을 간소화하여 효율성을 높이기 때문에 생산성을 높일 수 있다는 것입니다.
결과적으로 저는 Navicat Premium을 사용하고 있습니다. 데이터베이스 개발 및 관리 클라이언트를 수년 동안 유지하고 있습니다. Navicat은 모든 인기있는 데이터베이스의 클라이언트를 만들지 만 Navicat Premium은 단일 애플리케이션에서 MySQL, MariaDB, MongoDB, SQL Server, Oracle, PostgreSQL 및 SQLite 데이터베이스에 동시에 연결할 수있는 유일한 도구입니다. 또한 Amazon RDS, Amazon Aurora, Amazon Redshift, Microsoft Azure, Oracle Cloud 및 Google Cloud와 같은 클라우드 데이터베이스와 완벽하게 호환됩니다.
다음은 Windows의 기본 화면 스크린 샷입니다.
모든 Navicat 제품은 Windows뿐만 아니라 Linux 및 macOS에서 사용할 수 있습니다.
특히 쿼리 편집기는 작성하는 데 도움이됩니다. 구문 강조, 재사용 및 사용자 정의 가능한 코드 스 니펫 및 자동 제안을 포함하여 쿼리를 더 빠르게 수행합니다 (아래 그림 참조).
경험이 부족한 사용자에게 큰 이점 인 쿼리 작성기도 있습니다. SQL에 대한 지식이 거의 없어도 시각적으로 쿼리를 만들고 편집 할 수 있습니다.
도움이되기를 바랍니다.
감사합니다.
아담