CS21 SQL의 개념과 SQL 기본 문법 SQL 뜻 - Structured Query Language - 현업에서 쓰이는 relational DBMS의 표준 언어 - 종합적인 database 언어: DDL + DML + VDL SQL에서 relation이란? - multiset(= bag) of tuples @SQL - 중복된 tuple을 허용한다 SQL & RDBMS SQL은 RDBMS의 표준 언어이지만 실제 구현에 강제가 없기 때문에 RDBMS마다 제공하는 SQL의 스펙이 조금씩 다름. 🎈 예제를 통해 SQL로 DB 정의하기 - 부서, 사원, 프로젝트 관련 정보들을 저장할 수 있는 관계형 데이터베이스를 만들자 - 사용할 RDBMS는 MySQL(InnoDB) database 정의하기 CREATE DATABASE company; USE comp.. 2024. 2. 23. 관계형 데이터베이스 Set - 서로 다른 elements를 가지는 collection - 하나의 set에서 elements의 순서는 중요하지 않다 - e.g. {1, 3, 11, 4, 7} 수학에서 relation이란? - subset of Cartesian product - set of tuples 🎈 Relational Data Model 예시) domain of student relation 동일한 도메인이 같은 릴레이션 두 번 이상 사용될 때 사용되는 목적이 다를 수 있기 때문에 각 도메인마다 attribute를 지정해줌. Relation Schema - relation의 구조를 나타낸다 - relation 이름과 attributes 리스트로 표기된다 - e.g. STUDENT(id, name, grade, majo.. 2024. 2. 22. 셋(Set), 해시 셋(Hash Set) Set - 데이터를 저장하는 추상자료형(ADT) - 순서를 보장하지 않음 - 데이터 중복을 허용하지 않음 - 데이터 조회(search)가 List보다 빠름 Set은 언제 쓰면 좋을까? 1. 중복된 데이터를 제거해야 할 때 2. 데이터의 존재 여부를 확인해야 할 때 list보다 데이터 조회가 빠르기 때문에 Set의 구현체 - Hash Set - Linked Hash Set(java) - Tree Set(java) Hash Set - 해시 테이블을 사용하여 구현 - 해시 테이블: 일반적으로 테이블의 크기에 상관없이 key를 통해 상수 시간에 빠르게 데이터에 접근 가능 - 해시 테이블을 사용해 구현하기 때문에 크기 상관없이 데이터 조회가 빠름 Java에서 hash set 구현체: HashSet java에서 H.. 2024. 2. 20. 맵과 해시 테이블(해시 맵) Map - key-value pair들을 저장하는 ADT(Abstract Data Type) - 같은 key를 가지는 pair는 최대 한 개만 존재 - associative array, dictionary라고 불리기도 함 Map 구현체 - hash table - tree-based Hash table(hash map) - 배열과 해시 함수(hash function)를 사용하여 map을 구현한 자료 구조 - (일반적으로) 상수 시간으로 데이터에 접근하기 때문에 빠름 🎈 Hash function - 임의의 크기를 가지는 type의 데이터를 고정된 크기를 가지는 type의 데이터로 변환하는 함수 - 특정한 규칙을 이용해 입력받은 키 값으로 그 키값이 얼마나 큰지에 상관없이 동일한 해시 코드를 만듦. - (ha.. 2024. 2. 18. 이전 1 2 3 4 ··· 6 다음