jscode_cs_DB_1주차 과제

김경민·2023년 11월 8일
0

jscode

목록 보기
8/8

1. 파일시스템과 데이터베이스의 차이점

파일 시스템 : 파일이나 폴더에 이름을 부여하고 저장이나 검색을 위해 논리적으로 정의한 뒤 관리하는 방식.

데이터베이스 : 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합.

파일 시스템과 데이터베이스의 차이점 : 파일 시스템은 간단한 데이터 관리에 적합하지만, 데이터베이스는 복잡하고 대규모의 데이터 관리에 적합하다.

2. 데이터베이스의 특징

  1. 실시간 접근성 : 수시적이고 비정형적인 조회에 대하여 실시간 처리에 의한 응답이 가능해야 한다.

  2. 계속적인 변화 : 데이터베이스의 상태는 동적이다. 즉, 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지한다.

  3. 동시공용 : 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다.

  4. 내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

3. DBMS는 무엇인지, DBMS의 특징

DBMS : 데이터베이스를 조작하는 소프트웨어. DBMS를 통해 데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하고, 사용할 수 있는 환경을 제공.
데이터베이스 : 여러 사람이 공유하고 사용할 목적으로 관리되는 정보.

DBMS 특징

  • 데이터 회복성 : 장애가 발생했을 때 특정 상태로 복구되어야하는 성질.

  • 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질.

  • 데이터 보안성 : 불법적인 노출과 변경으로부터 보호하는 성질.

  • 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 모순이 없고 동일한 규칙 내에 일정해야하는 성질.

  • 데이터 효율성 : 응답시간, 저장공간 활용들이 최적화가 되어야하는 성질.

4. 스키마가 무엇인지, 3단계 데이터베이스 구조가 무엇인지.

스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 정의한 메타데이터의 집합.

메타데이터 : 데이터에 대한 데이터. 어떤 목적을 가지고 만들어진 데이터로 정의됨.

3단계 데이터베이스 구조

  • 외부 단계 : 개별 사용자 관점에서 이해하고 표현.
  • 개념 단계 : 데이터베이스를 이용하는 사용자들의 관점을 통합해 조직 전체의 관점에서 이해하고 표현.
  • 내부 단계 : 데이터베이스를 저장 장치의 관점에서 이해하고 표현.

내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아짐.

5. 데이터 독립성이란?

데이터베이스의 구조와 데이터의 내용이 서로 영향을 미치지 않는 것을 의미.

데이터 독립성 : 논리적 데이터 독립성, 물리적 데이터 독립성으로 나눌 수 있음.

  • 논리적 데이터 독립성 : 데이터베이스의 논리적 구조가 변경되어도 응용 프로그램이나 사용자의 요구에 영향을 주지 않는 것.

  • 물리적 데이터 독립성 : 데이터베이스의 물리적 구조가 변경되어도 논리적 구조나 데이터의 내용에 영향을 주지 않는 것.

6. RDBMS란?

RDBMS : RDB 를 생성, 수정, 관리할 수 있는 소프트웨어.

RDB : 관계형 데이터 모델에 기초를 둔 데이터 베이스. 모든 데이터를 2차원의 테이블 형태로 표현.

즉, 관계형 모델을 기반으로 하는 DBMS 유형.

7. 릴레이션 스키마와 릴레이션 인스턴스란?

릴레이션 : 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위.

릴레이션 스키마 : 릴레이션의 이름, 각 속성의 이름과 타입, 그리고 속성 값의 도메인을 정의하는, 즉 릴레이션에 데이터를 넣을 수 있도록 하는 릴레이션 틀.

릴레이션 인스턴스 : 어느 시점의 릴레이션에 들어 있는 튜플들의 집합. 즉, 실제 값들.

8. 릴레이션의 차수와 카니덜리티란?

릴레이션 차수 : 하나의 릴레이션 안에 있는 Attribute(속성) 수.

카니덜리티 : 릴레이션 튜플의 갯수. 아직 데이터가 삽입되지 않은 테이블의 경우 카디널리티는 차수와 다르게 0의 값을 가질 수 있다.

9. 키(Key)란? (슈퍼키, 후보키, 기본키, 대리키, 외래키)

키(Key) : 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 속성.

후보키 : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미.

기본키 : 후보키 중에서 선택한 Main Key. 하나의 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성.

대리키 : 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들.

슈퍼키 : 하나의 릴레이션 내에 있는 속성들의 집합으로 구성된 키.

외래키 : 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용됨.

10. 무결성 제약조건이란?

데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제약하기 위한 조건.

무결성 제약조건의 주요 목적은 데이터베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스의 상태를 일관되게 유지하는 것.

11. 사용했던 데이터베이스에 대해서 설명해주세요. (오라클DB, MySQL, MariaDB, MongoDB 등)

MySQL : 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템.

SQL 을 사용하여 구조화된 방식으로 데이터를 효율적으로 저장, 검색 및 조작하도록 설계되어있음.

profile
어제보다 더 나은 오늘을 위해 오늘도 한걸음!

0개의 댓글