집 >데이터 베이스 >MySQL 튜토리얼 >DBMS 인터뷰 FAQ
취업 면접에서 물어볼 수 있는 데이터베이스 관리 시스템 관련 질문 유형에 익숙해지기 위해 이 문서에서는 가장 중요한 DBMS 면접 질문(DBMS)을 살펴보겠습니다.
DBMS(Database Management System)라는 약어는 데이터를 중심으로 주요 기능을 수행하는 애플리케이션 시스템을 의미합니다. 이 시스템을 통해 사용자는 데이터는 물론 데이터베이스에 저장된 데이터에 대한 정보를 설계, 저장, 검색 및 업데이트할 수 있습니다.
간단히 말하면, 데이터베이스는 사용자가 쉽게 접근하고, 관리하고, 제출할 수 있도록 정리된 데이터의 집합입니다.
DBMS의 주요 장점은 다음과 같습니다
Controlled Redundancy - DBMS는 모든 데이터가 단일 데이터베이스에 저장되므로 중복된 데이터가 저장되는 것을 방지하여 데이터베이스 내의 중복성을 제거하는 방법을 제공합니다.
데이터 공유 - 동일한 데이터베이스는 모든 사용자와 다양한 애플리케이션에서 공유되므로 DBMS를 사용하면 여러 사용자가 동시에 데이터를 공유할 수도 있습니다.
백업 및 복원 도구 - DBMS는 "백업 및 복원"(데이터 백업 자동 생성 및 요청 시 데이터 복원)이라는 기능을 제공하여 데이터 백업 생성의 어려움을 덜어줍니다. 데이터가 중복되었습니다.
무결성 제약 조건 적용− 정제된 데이터가 데이터베이스에 저장되고 DBMS에서 처리되기 위해서는 데이터에 무결성 제약 조건이 적용되어야 합니다.
데이터 독립 - 데이터 독립성은 기본적으로 기본 애플리케이션의 디자인을 변경하지 않고도 데이터 구조를 수정할 수 있음을 의미합니다.
고유한 기능 종속성과 기본 키를 기반으로 특정 기준을 충족하기 위해 관계의 스키마를 분석하는 프로세스를 정규화라고 합니다.
속성은 다음과 같습니다:
데이터 중복을 줄입니다.
삽입, 삭제, 업데이트 예외를 줄이려면
DBMS에는 기본적으로 다음과 같이 3가지 종류의 언어가 있습니다
DDL - 데이터 정의 언어(DDL)는 데이터베이스 및 스키마 구조를 설명하는 데 사용되는 CREATE, ALTER, TRUNCATE, DROP 및 RENAME과 같은 SQL 쿼리 모음입니다.
DCL - 데이터 제어 언어(DCL): DCL은 데이터베이스에 대한 사용자 액세스를 관리하는 데 사용되는 GRANT 및 REVOKE와 같은 일련의 SQL 쿼리입니다.
DML − 데이터 조작 언어(DML)는 일련의 SQL 쿼리 문(예: 선택, 삽입, 삭제 및 업데이트)을 사용하여 데이터 삽입, 삭제 및 업데이트를 포함한 데이터베이스 작업에 사용됩니다.
약어 SQL은 데이터를 입력, 업데이트 및/또는 변경하여 관계형 데이터베이스와 상호 작용하는 데 사용되는 구조적 쿼리 언어(Structured Query Language)를 나타냅니다.
데이터베이스 테이블에서 기본 키는 각 레코드를 고유하게 식별하는 데 사용되는 반면 외래 키(한 테이블의 특정 필드 또는 다른 테이블의 기본 키로 사용되는 필드 집합)는 주로 두 테이블을 연결하는 데 사용됩니다. 또는 Together의 여러 테이블.
아래에는 다양한 변형이 나와 있습니다.
기본 키와 고유 키의 주요 차이점은 기본 키에는 null 값이 포함될 수 없지만 고유 키에는 null 값이 포함될 수 있다는 것입니다.
테이블에는 여러 개의 고유 키가 있을 수 있지만 테이블당 기본 키는 하나만 있을 수 있습니다.
Answer − 하위 쿼리는 본질적으로 다른 쿼리 내에 포함된 쿼리입니다. 외부 쿼리 내에 포함되어 있기 때문에 내부 쿼리라고도 합니다.
DDL 명령 "DROP"을 사용하여 데이터베이스에서 테이블, 데이터베이스, 인덱스 또는 뷰를 삭제할 수 있습니다.
DROP, TRUNCATE 및 DELETE 명령에는 세 가지 주요 차이점이 있습니다.
DDL 명령 DROP 및 TRUNCATE를 사용하여 데이터베이스에서 테이블을 삭제할 수 있습니다. 테이블이 삭제되면 관련 권한과 인덱스도 모두 삭제됩니다. 두 절차 모두 취소할 수 없으므로 꼭 필요한 경우에만 사용해야 합니다.
반면 DELETE 명령은 테이블에서 행을 삭제하는 데에도 사용할 수 있는 DML 명령입니다.
전체 테이블이 데이터베이스에서 삭제되는 것을 방지하려면 "WHERE" 절과 함께 DELETE 명령을 사용하는 것이 좋습니다.
두 개 이상의 테이블에서 데이터를 결합할 때 UNION 및 UNION ALL을 사용합니다. UNION은 테이블의 데이터를 병합한 후 중복 행을 제거하고 다른 행을 선택합니다. UNION ALL은 단순히 테이블에서 모든 데이터를 선택하지 않습니다.
원자성, 일관성, 격리성 및 내구성 속성의 조합을 ACID 속성이라고 합니다. 이러한 기능을 통해 여러 사람이 안전하고 보안이 유지되는 방식으로 데이터를 공유할 수 있습니다.
원자성 - 이는 "전부 아니면 전무"라는 개념을 기반으로 합니다. 이는 본질적으로 데이터베이스 변경이 발생하면 사용자와 애플리케이션을 제외한 모든 사람이 액세스할 수 있어야 함을 의미합니다. 그것에 액세스하십시오.
Consistency − 이를 통해 내부 트랜잭션 도중과 이후에 데이터베이스의 일관성이 유지됩니다.
Isolation - 이름에서 알 수 있듯이 이 기능은 발생하는 모든 트랜잭션이 다른 트랜잭션과 격리되도록 지정합니다. 예를 들어, 시작되었지만 아직 완료되지 않은 트랜잭션은 다른 트랜잭션이 영향을 받지 않도록 다른 트랜잭션과 격리되어야 합니다.
Persistence − 이 기능은 데이터가 항상 지속적인 상태에 있어야 함을 지정합니다. 즉, 제출된 모든 데이터는 시스템 오류 또는 재시작 시 동일한 상태로 액세스되어야 합니다.
하위 쿼리는 중첩 쿼리 또는 다른 쿼리 안에 작성된 쿼리라고도 합니다. 외부 쿼리의 각 행에서 하위 쿼리가 실행될 때 하위 쿼리를 상관 관계라고 합니다.
상관되지 않은 하위 쿼리의 예는 -
입니다. 으아아아이 경우 내부 쿼리는 외부 쿼리의 모든 행에 대해 실행되지 않습니다.
엔티티는 현실에서 독립적으로 존재하는 모든 사물, 장소, 사물을 말하며, 그 세부 사항은 데이터베이스에 저장될 수 있습니다. 예를 들어, 어떤 사람, 책 등.
엔티티 유형은 유사한 속성을 가진 엔터티의 조합입니다. 학생 테이블을 예로 들면, 각 행은 학생의 이름, 나이, 학생 ID를 저장하는 엔터티입니다. 따라서 Student는 동일한 속성을 가진 엔터티 유형입니다.
동일한 유형의 개체 그룹을 개체 집합이라고 합니다. 예를 들어 회사의 직원 그룹이 있습니다.
DBMS에는 세 가지 수준의 데이터 추상화가 있습니다.
제작자는
물리적 수준 - 물리적 수준은 데이터가 데이터베이스에 저장되는 방식을 설명하며 가장 낮은 수준의 데이터 추상화입니다.
논리 수준 - 데이터 추상화의 다음 수준인 논리 수준은 데이터베이스에 유지되는 데이터 유형과 데이터 간의 연결을 설명합니다.
뷰 레벨 - 뷰 레벨이라고 불리는 가장 높은 수준의 데이터 추상화는 데이터베이스의 일부만 표시하거나 설명합니다.
DBMS에는 정확하게 말하면 두 가지 주요 무결성 규칙이 있습니다.
다음과 같습니다
엔티티 무결성: 기본 키 값은 절대 NULL이 될 수 없다는 핵심 원칙을 선언합니다
참조 무결성: 이 규칙에 따르면 외래 키 값은 NULL이거나 다른 모든 관계에 대한 기본 키 역할을 해야 합니다.
DBMS에서 E-R 모델은 엔터티 개념과 엔터티 사이에 존재하는 관계를 기반으로 구축되었기 때문에 엔터티-관계 모델이라고 합니다.
기본적으로 관계의 다양한 속성 간의 관계는 이 제약 조건으로 설명할 수 있습니다.
예를 들어 "R1"이라는 관계에 "Y" 및 "Z" 기능이 포함된 경우 이 두 속성 간의 기능적 종속 관계는 "Y->Z"로 표현될 수 있습니다. 이는 Z가 Y에 따라 작동함을 나타냅니다. .
첫 번째 정규형, 즉 1NF가 정답입니다.
이 정규화에서 속성의 도메인은 가장 간단한 원자 값만 가져야 합니다. 이는 테이블에서 중복된 열을 제거하는 것입니다.
두 번째 정규형, 즉 2NF.
다음 두 가지 요구 사항을 충족하는 모든 테이블은 2NF(2차 정규형)로 간주됩니다.
테이블은 1NF입니다.
테이블의 기본이 아닌 속성은 기본 키에 완전히 기능적으로 종속되는 것으로 간주됩니다.
세 번째 정규형, 즉 3NF.
다음 두 가지 요구 사항을 충족하는 모든 테이블을 3NF(3차 정규형)라고 합니다.
테이블은 2NF입니다.
어떤 사람들은 테이블의 모든 비프라임 속성이 모든 테이블 키에 비전이적으로 의존한다고 생각합니다.
제3정규형보다 더 엄격한 보이스 코드 정규형을 BCNF라고 합니다.
다음 두 가지 요구 사항을 충족하는 모든 테이블은 BCNF에 있는 것으로 간주됩니다.
테이블은 제3정규형입니다.
X는 X->Y에 기능적 종속성을 갖는 기존 테이블의 슈퍼키입니다.
SQL 쿼리와 함께 사용되어 사용자 요구 사항 및 SQL 정의 제약 조건에 따라 지정된 데이터를 얻습니다. 이는 전체 레코드 세트에서 특정 레코드를 선택하는 데 특히 유용합니다.
예를 들어 WHERE 조건을 사용한 쿼리와 HAVING 절을 사용한 쿼리가 있습니다.
Answer − 홀수는 다음 검색을 사용하여 검색할 수 있습니다
으아아아다음 쿼리를 사용하여 짝수를 검색할 수 있습니다. -
으아아아SQL의 LIKE 연산자를 사용하면 패턴 일치가 가능해집니다.
LIKE 연산자는 0개 이상의 문자를 일치시킬 때 "%" 문자를 사용하고, 1개 문자만 일치시킬 때 "." 문자를 사용합니다
SELECT * from Emp WHERE name like 'b%';
SELECT * from Emp WHERE name like 'hans_';
联接是一种 SQL 语句,用于根据共享字段或列组合两个或多个表中的数据或行。
有四种不同类型的SQL连接。
内部联接 - 这种联接用于从两个表共享的表中检索信息。
Left Join − 这只返回连接操作右侧表中的匹配行,返回连接操作左侧表中的所有行。
Right Join - 这仅返回连接左侧表中的匹配行,而不是连接右侧表中的所有行。
完全联接 - 这会从已应用联接条件的每个表中检索所有行,并且不匹配的行具有空值。
答案是触发器是为了响应表或视图中发生的事件而自动运行的关键脚本或程序之一。例如,每当向员工数据库添加新记录时,相关表中都会自动生成数据,例如角色表、部门表和薪酬表。
存储过程是一组SQL语句的集合,组织成一个函数,保存在关系数据库管理系统(RDBMS)中,并在需要时可随时访问。
RDBMS 代表关系数据库管理系统。它是一个数据库管理系统,通过使用不同表中的公共字段来访问数据。
在数据库管理系统中,关系显示了表之间的关联。
各种类型的关系包括
一对一 - 这基本上表示每个表中应该有一条记录,或者表之间存在一对一的关系。例如,已婚夫妇只允许每人有一个配偶。
一对多 - 主键表只有一条记录,根据一对多连接理论,关联表中可能有许多、一个或零条记录。一个母亲可能有很多孩子。
多对多 - 据此,两个表都可以连接到其他几个表。示例:兄弟姐妹可以有很多,而且经常如此。
위 내용은 DBMS 인터뷰 FAQ의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!