JFe
'CS' 카테고리의 글 목록

TIL I die

CS/Database

[Database] Basic SQL Queries

🔍 기본 검색 Query SELECT FROM [ WHERE ] -- for aggregates [ GROUP BY ] [ HAVING ] [ ORDER BY [DESC] ]; SELECT 문 데이터베이스에서 정보 검색을 하는데 가장 기본이 되는 구문으로, SELECT-FROM-WHERE 형태가 기본적인 형태다. relational algebra에서 selection과는 다름 ex) SELECT Name FROM Employee WHERE Age >= 20; Aliasing / Renaming 두 개 이상의 attribute들이 서로 이름이 같은 경우에는 다음과 같이 이름을 바꾸거나 명시해 표현할 수 있다. SELECT E.Fname, E.Lname, S.Fname, S.Lname FROM EMPLOYE..

CS/Database

[Database] SQL 기초

📃 SQL Schema & Catalog SQL Schema 데이터베이스라고도 불리며, 같은 데이터베이스에 속해 있는 테이블과 다른 구조들을 그룹짓는 개념이다. Schema name으로 구별된다. 스키마를 소유하는 사용자를 나타내는 authorization identifier와 스키마에 있는 각각 element의 descriptor를 포함한다. Schema element는 table, constraints, views, domains 등을 포함한다. CREATE SCHEMA COMPANY AUTHORIZATION 'Joshua' Catalog 스키마의 모임으로, INFORMATION_SCHEMA 라고 불리는 특별한 스키마를 항상 가지고 있다. Integrity constraints는 같은 catalog의..

CS/Database

[Database] ER-to-Relational Mapping

🗺 ER-to-Relational Mapping Goals 모든 정보를 보존 최대한 가능한 만큼 제약조건들을 유지 NULL 값들을 최소화 Step 1. Regular Entity Types 기존 엔터티의 attribute를 전부 포함하고, key attributes 중에서 하나를 골라 Primary key로 정한다. 만약, 고른 key가 composite이면 해당하는 attribute들 모두 Primary key로 정한다. Step 2. Weak Entity Types weak 엔터티의 attribute를 전부 포함 owner 엔터티의 Primary key를 Foreign key로 가지고, owner 엔터티의 Primary key와 weak 엔터티의 Partial key를 Primary key로 가진다...

CS/Database

[Database] Relational Model

🔗 Relational Model Concepts Relation 집합을 베이스로 한 수학적인 개념으로, table과 같은 역할을 한다. table처럼 여러 row와 column을 가지고 있는데 이때, row를 tuple, column을 attribute라고 부른다. relation은 튜플을 유일하게 식별할 수 있는 key를 가지고, 적합한 key가 없는 경우에는 임의의 key를 추가할 수 있는데 이것을 surrogate key(or artificial key) 라고 부른다. Schema R(A_1, A_2, … , A_n) R : relation 이름 A_1, A_2, … , A_n : attribute 리스트 degree of relation R : R의 attribute 수 Tuple 값들이 정렬된..

CS/Database

[Database] Entity-Relationship(ER) Model

🎞 Database Design Process 1. 요구사항 수집 및 분석 2. Conceptual Design 3. Logical Design(or Data model mapping 4. Physical Design 💁‍♀️ Entity-Relationship(ER) model 데이터를 Entity, Relationship, Attribute 로 표현 Entity ER model의 기본 컨셉으로, 구체적인 객체를 의미한다. Entity Type : 비슷한 속성을 가진 entity의 타입 (schema 같은 느낌) ex) EMPLOYEE, COMPANY Weak Entity Type 자기 자신을 위한 key attribute를 갖지 않는 entity type으로 항상 total participation을..

CS/Database

[Database] Data Model & Schema

Data Model 데이터 추상화를 달성하기 위해 필요한 수단 제공 데이터베이스의 구조(data types, relationships), 이런 구조를 조작하기 위한 연산, 데이터베이스가 가져야 할 제약조건의 집합으로 구성 📚 Data Model 종류 Conceptual data models 다수의 사용자가 데이터를 인식하는 방법과 비슷하게 개념(entity, attribute, relationship 등)을 제공 entity-based or object-based data model이라고도 불림 (ER model) high-level, semantic Physical data models 데이터가 컴퓨터 저장매체에 어떻게 저장되는지에 관한 자세한 정보들을 제공 low-level, internal Impl..

CS/Database

[Database] DB? DBMS??

DB(database) : 서로 관계있는 데이터들의 집합 DBMS : Database Management System으로 데이터베이스를 만들고 관리할 수 있도록 하는 소프트웨어 / 시스템 💡 DB를 사용하는 이유? 1. Queries (질의) 파일 기반 시스템에서는 자신이 원하는 데이터를 조회하기에 한계가 있다. 하지만 DBMS에서는 DML(Data Manipulation Language) 을 이용해 쉽게 데이터를 조회할 수 있고, Schema를 이용해 데이터 구조(Schema)와 데이터를 분리할 수 있다. DML 종류 High-level or non-procedural languages (ex. SQL) 어떻게 검색할지(how)가 아닌 어떤 데이터를 검색할지(what)을 명시함 -> declarativ..