목록전체 글 (106)
개발스토리
데이터베이스 설계 ■ 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정이다. ■ 관계 데이터베이스의 대표적인 설계 방법 - E-R 모델과 릴레이션 변환 규칙을 이용한 설계 - 정규화를 이용한 설계 이번 포스팅에서는 E-R모델과 릴레이션 변환 규칙을 이용한 설계를 이야기 해보겠다. E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정 ■ 설계 과정 중에 오류를 발견하여 변경이 필요하다면 이전 단계로 되돌아가서 설계 내용을 변경할 수 있다. 설계 1단계 : 요구 사항 분석 ■ 목적 - 사용자의 요구 사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악한다. - 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려 ■ 결과물 - 요구 사항 명세서 ■ 주요 작업 ..
const a = await ~Model.find({ _id: {$in: arr} }); const b = await ~Model.aggregate([ {$match: {_id: {$in: arr}}]); 배열을 넘겨서 매칭되는 모든 도큐먼트를 불러오는 것을 의도로 위 코드를 작성했는데 조회가 이루어지지 않았다. 알아보니까 aggregate의 match에서 _id 필드를 넣고 싶을 때는 ObjectId로 string을 바꾸어 주어야 한다.
SQL(Structured Query Language) ■ 의미 - 관계 데이터베이스를 위한 표준 질의어이다. - 비절차적 데이터 언어이다. ■ 사용 방식 - 대화식 SQL : 데이터베이스 관리 시스템에 직접 접근하여 질의를 작성하여 실행된다. - 삽입 SQL : 프로그래밍 언어로 작성된 응용 프로그램에 삽입된다. SQL의 분류 ■ 데이터 정의어(DDL) - 테이블을 생성하고 변경, 제거하는 기능을 제공한다. ■ 데이터 조작어(DML) - 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능을 제공한다. ■ 데이터 제어어(DCL) - 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공한다.
관계 데이터 연산(Relational Data Operation) ■ 관계 데이터 모델의 연산 ■ 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 ■ 관계 대수와 관계 해석이 있다. 기능과 표현력 측면에서 능력이 동등하다. 1) 관계 대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 2) 관계 해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 → 관계 대수와 관계 해석의 역할이 무엇인지 알아보자. - 데이터 언어의 유용성을 검증하는 기준이다. - 관계 대수나 관계 해석으로 기술할 수 있는 모든 질의를 기술할 수 있는 데이터 언어를 관계적으로 완전하다고 판단한다. ● 관계 대수(relational algebra)의 개념 - 원하는 결과를 얻기..
관계 데이터 모델의 기본 개념 ■ 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 ■ 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 관계 데이터 모델의 기본 용어 ■ 릴레이션 - 하나의 개체에 대한 데이터를 2차원 테이블의 구조로 저장한 것이다, 행과 열로 구성된 테이블! ■ 속성(attribute) - 릴레이션의 열 - 파일 관리 시스템 관점에서 필드에 대응 ■ 튜플(tuple) - 릴레이션의 행 - 파일 시스템 관점에서 레코드에 대응 ■ 도메인(domain) - 하나의 속성이 가질 수 있는 모든 값의 집합 - 속성 값을 입력 및 수정할 때 적합성 판단의 기준이 된다. - 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의된다. ■ 널(null) - 속성 값을 아직 모르거나 해당되는 값..