컴퓨터과학(CS)/데이터 베이스 (17) 썸네일형 리스트형 개념적 모델링 실습 요구사항 분석의 주요 작업 사용자 범위 결정 사용자의 업무 분석 요구사항 수집(면담, 설문 등) 명세서 작성 요구사항 수집과 분석을 통해 얻은 요구사항 명세서를 통해 개념적 모델링을 한다. 개념적 모델링 개념적 스키마 설계 요구사항 분석 결과물 -> 개념적 구조로 표현한다. 여기서 얻은 결과물은 E-R 다이어그램(개념적 스키마)이다. 주요 작업 요구사항 분석 결과 -> 중요 개체 추출, 개체간의 관계 결정 -> E-R 다이어그램으로 표현 과정 1. 개체와 속성 추출 2. 관계 결정 3. E-R 다이어그램 표현 개체와 속성 추출 개체: 저장할만한 가치를 지닌 것 추출 방법: 요구사항 문장에서 의미있는 명사를 찾아라, 명사를 개체와 속성으로 분류 개체는 속성보다 상위 레벨이다. 관계 결정 관계: 개체간의 의.. 개념적 데이터 모델링 데이터베이스 설계: 사용자의 다양한 요구사항을 고려하여 DB 생성 요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 이것을 반복한다. 요구사항 분석: 용도 파악, 어떤 데이터를 필요로 하는지, 요구사항 명세서를 작성한다. 개념적 설계: 개념적 구조 설계, 개념적 스키마(E-R 다이어 그램) 논리적 설계: 논리적 구조 설계, 논리적 스키마(릴레이션 스키마) 물리적 설계: 물리적, 물리적 스키마 구현: SQL문 데이터 모델링은 현실 세계 데이터를 컴퓨터 세계 DB로 옮기는 변환 과정이다. 또한 DB 설계의 핵심 과정이다. 개념적 데이터 모델링: 현실 -> 개념 논리적 데이터 모델링: 개념 -> DB 데이터 모델: 데이터 모델링의 결과물을 표현하는 도구 개념적 모델: 데이터 베이스.. 데이터베이스 시스템 데이터베이스 시스템 데이터베이스에 데이터를 저장하고 이를 관리하여 조직에 필요한 정보 생성 데이터베이스의 구조 스키마: 데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의 인스턴스: 스키마에 따라 실제로 저장된 값 3단계 데이터베이스 구조 외부단계: 개별 사용자 관점(외부 스키마) 개념단계: 조직 전체의 관점(개념 스키마) 내부단계: 물리적인 저장장치의 관점(내부 스키마) 각 단계별로 다른 추상화 제공(내부 -> 외부 추상화 레벨이 올라간다) 외부단계 사용자 관점에서 이해하고 표현 데이터베이스 하나에 외부 스카마가 여러개 존재 외부스키마 외부단계에서 데이터 베이스를 정의하고 논리적 구조로 사용자마다 다르다. 서브 스키마라고도 함 개념단계 조직 전체의 관점에서 이해하고 표현 데이터베이스 하나에 개념 스.. 데이터베이스 관리 시스템 파일 시스템: 데이터를 파일로 관리하기 위해 응용프로그램마다 데이터를 별도의 파일로 관리 파일 시스템의 문제점 같은 내용의 데이터가 여러 파일에 저장(무결성 유지 X) 응용프로그램이 데이터 파일에 종속적(구조가 변경되면 프로그램도 재설계) 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족 응용프로그램 개발이 쉽지 않다.(종속적이기에 파일의 구조 등 기본적 데이터 관리 기능을 다시 파악해야 한다.) 주요 문제점 데이터 중복성 -> 저장공간 낭비, 무결성과 일관성 유지가 어렵다 데이터 종속성 -> 파일의 구조를 변경하면 응용프로그램도 함께 변경 DBMS(데이터베이스 관리 시스템) 데이터를 DB에 통합하여 관리 주요 기능 정의 기능: DB의 구조를 정의하거나 수정할 수 있다. 조작 기능: 데이터를 삽입.. 데이터베이스의 기본 개념 데이터 vs 정보 데이터는 가공되지 않고 측정되거나 관찰된 값이다. 정보는 그러한 데이터를 처리한 결과물이다. 이 둘의 차이는 의미 부여 여부 및 의사소통에 활용 가능한가이다. 정보처리는 데이터에서 정보를 추출하는 것이다. 그러한 정보처리를 하는 시스템이 정보 시스템이다. 데이터 베이스는 특정 조직의 여러 사용자가 공유하여 사용하도록 통합해 저장한 운영 데이터 집합이다. 데이터 베이스의 정의 : 통합, 공유, 저장, 운영 통합 데이터 : 최소한의 중복만을 허용 공유 데이터 : 여러 사용자가 함께 소유 저장 데이터 : 컴퓨터가 접근할 수 있는 매체에 저장 운영 데이터 : 조직의 주요 기능을 수행하기 위해 지속적으로 유지 데이터 베이스의 특징 : 실시간 접근, 계속 변화, 동시 공유, 내용기반 참조 실시간 .. 대칭키와 공개키 대칭키 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 동일한 키를 주고받기에 속도가 매우 빠르다. 그러나 대칭키를 주고받는 과정에서 해킹의 위험이 있다. 공개키 암호화와 복호화에 다른 암호키를 사용하는 알고리즘 자신이 가지고 있는 암호키(비밀키)로 복호화할 수 있는 암호키(공개키)를 대중에게 공개함 공개키의 암호화 과정 1. A가 공개된 B의 공개키로 암호화화여 B에게 전송한다. 2. B는 자신의 비밀키로 복호화하여 평문을 확인한다. 3. B는 A가 사용한 공개키로 응답을 암호화하여 전송한다. 4. A는 B의 공개키로 복호화하여 평문을 확인한다. 대칭키를 주고받는 과정의 해킹 위험을 줄였지만 과정이 매우 복잡하다. 결국 이 둘의 문제점을 해결하기 위해 적절히 혼합한 것이 SSL 탄생의 시초가.. 키(key) 정리 후보키(Candidate Key): 튜플을 유일하게 식별할 수 있는 속성의 부분집합(기본키로 사용할 수 있다.) 이러한 후보키의 특징은 2가지가 있다. 최소성: 꼭 필요한 속성으로만 구성 유일성: 하나의 키가 하나의 튜플만을 식별한다. 기본키(Primary Key): 후보키 중 선택한 Main Key NULL값을 가질 수 없다. 동일한 값이 중복될 수 없다. 대체키(Alternate Key) 후보키에서 기본키를 제외한 나머지 수퍼키(Super Key) 유일성은 만족하나 최소성을 만족하지 못한다. 외래키(Foreign Key) 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합 출처 : https://github.com/gyoogle/tech-interview-for-developer 이전 1 2 다음