본문 바로가기

개인공부 정리/다양한 질문들

0208 수업 질문 - 제약 조건 및 사용자, 권한, 롤 관리

Q1. 기본키 (PRIMARY KEY)와 외래키 (FOREIGN KEY)에 대해서 예시를 들어 설명해줄래

기본 키(PRIMARY KEY)는 데이터베이스 테이블의 각 레코드에 대한 고유 식별자입니다. 두 레코드가 동일한 기본 키 값을 가질 수 없도록 하여 엔터티 무결성을 적용하는 데 사용됩니다. 기본 키는 일반적으로 하나 이상의 열로 구성되며 이러한 열의 값은 테이블의 각 레코드에 대해 고유해야 합니다.

예를 들어 회사 직원에 대한 정보를 저장하는 "직원"이라는 테이블을 생각해 보십시오. 이 테이블에서 "employee_id" 열은 기본 키 역할을 할 수 있습니다. 각 직원은 테이블에서 해당 직원의 레코드를 식별하는 데 사용되는 고유한 "employee_id" 값을 갖게 됩니다.

반면 외래 키(FOREIGN KEY)는 다른 테이블의 기본 키를 참조하는 한 테이블의 열 또는 열 집합입니다. 외래 키의 목적은 두 테이블 간의 관계를 설정하여 데이터가 테이블 간에 일관성을 유지하도록 하는 것입니다.

예를 들어 "직원"과 "부서"라는 두 개의 테이블을 고려하십시오. "employees" 테이블에서 "department_id" 열은 해당 테이블의 기본 키 역할을 하는 "departments" 테이블의 "department_id" 열을 참조하는 외래 키일 수 있습니다. 이 외래 키 관계는 "employees" 테이블의 "department_id" 값이 "departments" 테이블의 유효한 "department_id" 값과 일치하도록 합니다.

 

Q2. CASCADE가 뭔가요? 

* 교수님 답변 : 딜리트를 한꺼번에 해주는 느낌? 뒤 따라서 떨어진다는 느낌 // 연결성 있게 자동으로 삭제되는 느낌

동작이 한번에 해결해주는 것. 밧줄처럼 연결적으로 제거해주는 느낌. 회원이 사라지면 회원 정보도 자동으로 삭제 되게

* AI 답변 

SQL의 "CASCADE" 키워드는 외래 키 제약 조건의 동작을 정의하는 규칙을 나타냅니다. 외래 키는 다른 테이블의 기본 키를 참조하는 테이블의 열 또는 열 그룹입니다. "CASCADE" 규칙은 외래 키가 참조하는 기본 키 값이 업데이트되거나 삭제될 때 해당 외래 키 값도 업데이트되거나 삭제되도록 지정합니다. 이렇게 하면 테이블 간의 데이터 일관성이 보장되고 하위 테이블의 고아 레코드가 방지됩니다.

예를 들어 "DEPARTMENT" 및 "EMPLOYEE"라는 두 개의 테이블을 고려하십시오. "DEPARTMENT" 테이블에는 기본 키 "DEPT_ID"가 있고 "EMPLOYEE" 테이블에는 "DEPARTMENT" 테이블의 기본 키를 참조하는 외래 키 "DEPT_ID"가 있습니다. "DEPARTMENT" 테이블에 "DEPT_ID" 열에 대한 "CASCADE" 규칙이 있는 경우 "DEPARTMENT" 테이블의 "DEPT_ID" 값이 업데이트되거나 삭제되면 "EMPLOYEE" 테이블의 해당 "DEPT_ID" 값이 변경됩니다. 업데이트하거나 삭제할 수도 있습니다.

 

Q3. LIKE IN은 왜 안되나요

오라클에서는 LIKE IN은 적용 되지 않고 LIKE를 이용할 때는 OR를 사용해야 합니다.

LIKE A OR B OR ....

 

Q4. SQL에서 다음과 같은 언더바 표시를 이해 못하겠어 알려줄래?

"USER_ROLE_PRIVS" 이름의 "_"는 가독성을 높이고 이름의 다른 부분 간의 관계를 나타내는 구분 기호로 사용됩니다. 이것은 SQL 및 기타 프로그래밍 언어의 명명 규칙에서 일반적으로 사용되는 규칙입니다. "USER_ROLE_PRIVS"라는 이름은 사용자 역할 권한에 대한 정보를 저장하는 테이블이나 열을 가리킬 가능성이 높습니다.

 

 

728x90
반응형
LIST