SQL 기본 키: 생성 및 기존 테이블에 추가

⚡ 스마트 요약

SQL Server에서 기본 키는 테이블의 모든 행을 고유하게 식별하는 값을 가진 열 또는 열 집합입니다. 각 테이블에는 하나의 기본 키가 있으며, 해당 열은 절대로 NULL 값을 가질 수 없습니다.

  • 🔑 기본 키란 무엇입니까? 기본 키는 테이블의 각 행을 식별하는 고유한 값을 가진 하나 이상의 열입니다.
  • 🚫 핵심 규칙: 테이블에는 기본 키가 하나만 허용되며, 모든 값은 고유해야 하고, 키 열에는 NULL 값이 포함될 수 없습니다.
  • 🖱️ 두 가지 생성 방법: SQL Server Management Studio의 테이블 디자이너와 T-SQL의 CREATE TABLE 문 모두 기본 키를 정의합니다.
  • 🧱 제약 조건 절: CREATE TABLE 문 내부의 CONSTRAINT … PRIMARY KEY 절은 키의 이름과 해당 키에 대한 열 목록을 지정합니다.
  • 기존 표에 추가: ALTER TABLE … ADD CONSTRAINT 명령은 기존 테이블의 NOT NULL 열에 기본 키를 추가합니다.
  • 🧩 복합 키: 기본 키는 최대 16개의 열을 조합하여 전체 데이터 세트에서 고유한 복합 키를 생성할 수 있습니다.

SQL Server 기본 키: 생성 및 기존 테이블 추가 방법

SQL에서 기본 키란 무엇입니까?

기본 키 SQL 서버 기본 키는 레코드를 고유하게 식별하는 필드 또는 필드들의 조합입니다. 이는 모든 값이 고유한 열 또는 열들의 집합입니다. 다시 말해, 두 행이 동일한 기본 키 값을 공유할 수 없습니다.

기본 키 규칙

  • 각 테이블에는 기본 키가 하나만 있을 수 있습니다.
  • 모든 값은 고유하며, 기본 키 값은 각 행을 고유하게 식별할 수 있습니다.
  • 시스템은 테이블에 이미 존재하는 기본 키 값을 가진 행의 삽입을 허용하지 않습니다.
  • 기본 키는 NULL일 수 없습니다.

아래 다이어그램은 SQL 기본 키에 대한 위의 모든 내용을 요약한 것입니다.

SQL 기본 키 규칙을 요약한 다이어그램: 고유 값, 테이블당 하나, NULL 불가

SQL Server에서 기본 키를 만드는 방법

기본 키는 두 가지 방법으로 생성할 수 있습니다.

각 방법을 자세히 살펴보겠습니다.

SQL Server Management Studio

1단계) 테이블 이름을 마우스 오른쪽 버튼으로 클릭하고 [선택]을 클릭합니다. 디자인.

SQL Server Management Studio에서 테이블을 마우스 오른쪽 버튼으로 클릭하고 디자인을 선택하세요.

2단계) 열 이름을 마우스 오른쪽 버튼으로 클릭하고 [선택]을 클릭합니다. 기본 키 설정.

해당 열을 마우스 오른쪽 버튼으로 클릭하고 테이블 디자이너에서 기본 키 설정을 선택하세요.

결과: Course_Id는 이제 기본 키이며, 해당 열 옆에 열쇠 아이콘이 표시됩니다.

열쇠 아이콘으로 표시된 Course_Id 열은 기본 키입니다.

T-SQL: 새 테이블 생성 시 기본 키 생성

아래는 구문입니다. 테이블을 생성 T-SQL에서 가져온 기본 키를 사용합니다.

구문 :

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

여기서 CONSTRAINT는 키를 지정하고, PRIMARY KEY는 고유성을 유지해야 하는 열을 표시하며, 모든 열에는 또한 키가 필요합니다. 데이터 형식.

SQL 기본 키로 사용할 열이 하나 있는 테이블을 만들어 보겠습니다.

검색어 :

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

1단계) 클릭하여 쿼리를 실행합니다. 실행하다.

Course_ID를 기본 키로 정의하는 CREATE TABLE 쿼리를 실행합니다.

결과: Course_Id는 이제 COURSE_TSQL_PK 테이블의 기본 키입니다.

Course_ID가 기본 키로 설정된 COURSE_TSQL_PK 테이블을 보여줍니다.

예시: 동일한 강좌 ID로 여러 개의 기록을 입력할 수 있는지 확인해 보겠습니다.

1단계) Course_ID 값이 서로 다른 네 개의 행을 삽입합니다.

Insert into COURSE_TSQL_PK values (1,'SQL');
Insert into COURSE_TSQL_PK values (2,'Python');
Insert into COURSE_TSQL_PK values (3,'SQL');
Insert into COURSE_TSQL_PK values (4,'C');

2단계) SELECT 쿼리를 실행하여 모든 데이터가 성공적으로 삽입되었는지 확인합니다.

SELECT 쿼리 결과, Course_ID 값이 서로 다른 네 개의 행이 표시됩니다.

참고: 기본 키가 아닌 열에는 중복 값을 삽입할 수 있습니다.

3단계) ​​이제 기본 키인 기존 Course_ID를 사용하여 새 레코드를 삽입해 보겠습니다.

Insert into COURSE_TSQL_PK values (4,'JAVA');

결과: Course_ID 열(기본 키)에 이미 4라는 값이 존재하기 때문에 시스템에서 새 값을 삽입할 수 없습니다.

Course_ID에 대한 중복 기본 키 값을 거부하는 오류 메시지입니다.

SQL의 기존 테이블에 기본 키를 추가하는 방법은 무엇입니까?

이제 SQL에서 기존 테이블에 기본 키를 추가하는 방법을 살펴보겠습니다.

ALTER 문을 사용하여 기본 키를 생성할 수 있습니다. 하지만 기본 키는 NOT NULL로 정의된 열에만 생성할 수 있습니다. NULL 값을 허용하는 열에는 기본 키를 생성할 수 없습니다. 현재 NULL 값을 허용하는 열이 있는 경우, 먼저 해당 열을 NOT NULL로 변경하거나 테이블을 삭제하고 다시 생성해야 합니다.

구문은 다음과 같습니다.

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

예 :

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

students_pk라는 이름의 기본 키 제약 조건을 추가하는 ALTER TABLE 문

이미 존재하는 테이블에 기본 키 제약 조건을 추가했습니다. 제약 조건이 입학 열에 추가되었으며 Students_pk라는 이름이 할당되었습니다.

흥미로운 사실!

  • 기본 키는 여러 열의 조합으로 구성될 수 있습니다. 이러한 조합을 복합 기본 키라고 합니다.
  • 기본 키는 최대 16개의 열을 가질 수 있습니다.

자주 묻는 질문

둘 다 고유성을 보장합니다. 테이블에는 기본 키가 하나만 허용되며, 해당 열에는 NULL 값이 있을 수 없습니다. 테이블에는 여러 개의 고유 키가 있을 수 있으며, 고유 열에는 하나의 NULL 값이 허용됩니다. 기본 키는 일반적으로 행의 주요 식별자를 정의합니다.

예. SQL Server는 기본 키를 강제하기 위해 자동으로 고유 인덱스를 생성합니다. 기본적으로 이 인덱스는 클러스터형 인덱스로, 행을 물리적으로 정렬합니다. 다른 열에 이미 클러스터형 인덱스가 있는 경우 대신 NONCLUSTERED를 지정할 수 있습니다.

복합 기본 키는 두 개 이상의 열을 결합하여 각 열의 값이 개별적으로 반복되더라도 모든 열의 값이 고유하도록 합니다. SQL Server에서는 기본 키가 최대 16개 열에 걸쳐 있으며 총 키 길이는 900바이트까지 허용합니다.

기본 키는 해당 테이블 내의 각 행을 고유하게 식별하며 NULL 값을 허용하지 않습니다. 외래 키 다른 테이블의 기본 키 또는 고유 키와 일치해야 하는 값을 저장하여 두 테이블 간의 관계를 생성합니다.

`ALTER TABLE table_name DROP CONSTRAINT constraint_name` 명령을 실행하세요. 제약 조건 이름은 sys.key_constraints에서 확인할 수 있습니다.ping 기본 키는 또한 해당 키를 참조하는 고유 인덱스와 외래 키를 모두 제거합니다.

자동으로 숫자를 생성하는 IDENTITY 열은 고유성이 낮고 안정적이며 절대 NULL이 아니기 때문에 널리 사용되는 대체 기본 키입니다. 기존 열(예: 제품 코드)의 고유성이 이미 보장되는 경우에만 자연 키를 선택하십시오.

예. GitHub 부조종사 자연어 프롬프트에서 CREATE TABLE 문과 PRIMARY KEY 제약 조건을 작성하고 적절한 키 열을 제안할 수 있습니다. 생성된 키, 데이터 유형 및 null 허용 여부를 항상 검토한 후, 프로덕션 환경에서 실행하기 전에 스크립트를 테스트하십시오.

AI 및 머신러닝 도구는 샘플 데이터와 쿼리 패턴을 분석하여 기본 키로 사용할 열을 추천하고, 중복 또는 NULL 값을 포함하는 후보 키를 표시하며, 대체 키를 제안합니다. 개발자는 각 추천 사항을 적용하기 전에 확인합니다.

이 게시물을 요약하면 다음과 같습니다.