데이터베이스(DB) key,id 종류

반응형
    반응형

    데이터베이스(DB) key,id 종류

    데이터베이스에서 key, id, primary key 등의 개념은 매우 중요하며, 각각은 데이터베이스의 무결성, 성능, 효율적인 데이터 관리에 중요한 역할을 합니다. 이 개념들을 하나씩 설명해드리겠습니다.

    1. Key

    • 키(Key)는 데이터베이스에서 특정 레코드를 고유하게 식별하는 데 사용되는 하나 이상의 속성을 말합니다. 키는 데이터 무결성을 보장하고, 데이터를 검색하거나 조작하는 데 사용됩니다.

    종류

    • Primary Key (기본 키): 테이블에서 각 행을 고유하게 식별하는 열(또는 열들의 조합)입니다. 하나의 테이블에 하나의 Primary Key만 존재할 수 있으며, 이 키는 NULL 값을 가질 수 없습니다.
    • Foreign Key (외래 키): 다른 테이블의 Primary Key를 참조하는 열로, 테이블 간의 관계를 정의하는 데 사용됩니다. Foreign Key를 통해 두 테이블 간의 참조 무결성을 유지할 수 있습니다.
    • Unique Key: 열(또는 열들의 조합)이 유일한 값을 가지도록 보장하는 키입니다. 각 테이블에 여러 개의 Unique Key가 있을 수 있습니다. Primary Key도 고유한 값이므로 Unique Key의 일종으로 볼 수 있습니다.
    • Composite Key (복합 키): 두 개 이상의 열을 결합하여 고유하게 식별하는 키입니다. Primary Key나 Unique Key가 여러 열로 구성될 때 Composite Key라고 부릅니다.

    2. ID

    • ID는 일반적으로 테이블의 각 레코드를 고유하게 식별하기 위해 사용하는 열입니다. 대부분의 경우, ID는 숫자로 자동 증가하도록 설정하여 레코드가 삽입될 때마다 고유한 값이 생성됩니다.
    • 자동 증가 (Auto-Increment): 데이터베이스에서 새로운 레코드가 삽입될 때마다 ID 값이 자동으로 증가하도록 설정할 수 있습니다. 이는 Primary Key로 사용되는 경우가 많습니다.

    3. Primary Key

    • Primary Key (기본 키)는 테이블에서 각 레코드를 고유하게 식별하는 데 사용되는 필드 또는 필드들의 조합입니다.
      • 고유성 (Uniqueness): Primary Key는 각 레코드마다 고유해야 하며, 중복된 값을 가질 수 없습니다.
      • Not Null: Primary Key는 NULL 값을 가질 수 없습니다. 즉, 반드시 값이 있어야 합니다.
      • 인덱싱 (Indexing): 대부분의 데이터베이스는 Primary Key에 자동으로 인덱스를 생성하여 검색 속도를 높입니다.

    예시

    CREATE TABLE Users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        username TEXT NOT NULL UNIQUE,
        email TEXT NOT NULL UNIQUE
    );
    • 여기서 id는 Primary Key로, 자동 증가(AUTOINCREMENT) 설정을 통해 각 레코드를 고유하게 식별합니다.
    • usernameemail은 각각 고유한 값을 가지는 Unique Key입니다.

    4. Foreign Key

    • Foreign Key (외래 키)는 한 테이블의 열이 다른 테이블의 Primary Key를 참조하도록 설정한 키입니다. 이를 통해 두 테이블 간의 관계를 정의하고, 참조 무결성을 유지합니다.

    예시

    CREATE TABLE Orders (
        order_id INTEGER PRIMARY KEY AUTOINCREMENT,
        user_id INTEGER,
        order_date TEXT,
        FOREIGN KEY (user_id) REFERENCES Users(id)
    );
    • 여기서 user_idUsers 테이블의 id를 참조하는 Foreign Key입니다. 이를 통해 Orders 테이블의 각 주문이 어떤 사용자의 주문인지를 알 수 있습니다.

    5. Composite Key

    • Composite Key (복합 키)는 두 개 이상의 열을 결합하여 테이블의 각 행을 고유하게 식별하는 키입니다.

    예시

    CREATE TABLE Enrollments (
        student_id INTEGER,
        course_id INTEGER,
        PRIMARY KEY (student_id, course_id)
    );
    • 여기서 student_idcourse_id의 조합이 Primary Key로 설정되어, 특정 학생이 특정 강좌에 등록된 유일한 기록을 식별할 수 있습니다.

    결론

    이러한 키와 ID의 개념은 데이터베이스의 구조와 설계에서 핵심적인 역할을 합니다. 각 키는 데이터의 고유성, 참조 무결성, 검색 효율성을 보장하여, 데이터베이스가 효율적으로 작동하고 데이터를 정확하게 관리할 수 있도록 돕습니다.

    댓글

    Designed by JB FACTORY

    ....