본문 바로가기

백엔드/SQL23

관계대수 연습문제 - 기본키 모두 매칭하는 문제   교수의 강의 관련된 정보는 "instructor"-"teaches"-"section"학생의 수강 관련된 정보는 "student"-"takes"-"section"    왜 SELECT에 교집합을 걸어주지 않고 따로 JOIN해 교집합을 걸어둔 걸까?=> 결론부터 말하면,, 하나의 애트리뷰트에 관련된 조건이 두 개면 SELECT 조건에 교집합을 넣어줄 수 없음 !!따라서 연습문제 5번은 교집합 따로 해줘야 하지만 연습문제 4번은 SELECT조건에 두 개의 조건 때려넣어도 됨. 합집합의 경우 맞게 나오지만 교집합의 경우 A가 나와야 하는데 아무것도 나오지 않기 때문에 교집합은 안 된다..자세히 말하면,,애트리뷰트는 원자성을 가진다. "강의한 교수" 라는 애트리뷰트는 L 또는 K.. 2025. 4. 3.
관계형 데이터 모델과 관계대수(2) Relational Algebra(관계 대수) 관계 대수는 한 개 또는 두 개 릴레이션을 피연산자로 하여 연산 결과로 새로운 릴레이션을 반환  : 데이터베이스로부터 데이터를 조회하기 위한 언어* Pure Query Language: 데이터 조회만을 위한 언어(정의, 조작 지원x)선언적 성격이 강한 SQL이 동일하게 동작하여 쿼리최적화할 수 있는 절차적 "관계 대수" 필요(쿼리최적화의 핵심은 내부적으로 절차적인 관계 대수로 표현해두는 것) 관계 대수 기본 연산 1. Select- select predicate에 비교 연산자 사용 가능- 여러 조건을 걸어줄 때 논리 연산자로 연결 가능- select predicate에서 두 속성의 값 비교 가능   2. Project "학번"이라는 속성이 기본키가 아니기 때.. 2025. 4. 2.
관계형 데이터 모델과 관계대수(1) 데이터 모델 스키마가 아니라, 설계를 위한 도구(방법론): 데이터를 추상화하고 구조화한다.-> 데이터모델의 결과로 나오는 것이 스키마 데이터 모델의 결과 다음과 같은 것들이 결정되어야 한다. - 데이터, 데이터가 저장되는 구조- 데이터 관계- 데이터 의미- 데이터 제약 조건(무결성, 일관성 유지를 위해) 그래서 산출물은- 스키마- 다이어그램- 문서/명세 데이터 모델의 종류=> 개념적 데이터 모델은 데베의 종류와 무관하고, 논리적 데이터 모델은 데베의 종류에 따라 다르게  - 개념적 설계 단계에 사용- 데이터베이스 종류에 무관- 개체와 개체들 간 관계 정의(ER diagram) - 특정 데이터베이스와 관련(어떤 데이터, 구조, 제약조건, 관계 등 정의) 스키마 & 인스턴스 스키마를 적으세요 = 어떤 속성들.. 2025. 3. 30.
데이터 언어 & 사용자 데이터 언어- DDL(데이터 정의어) : 데이터베이스 구조(스키마) 정의- DML(데이터 조작어) : 데이터 삽입,삭제,수정,조회- DCL(데이터 제어어) : 데이터베이스 권한 및 보안 관리- TCL(트랜잭션 제어어) : 트랜잭션 제어 관계형 데이터베이스의 데이터 언어 관계형데이터베이스에서는 데이터 언어로 SQL 사용- DDL: CREATE, ALTER, DROP- DML: INSERT, DELETE, UPDATE, SELECT- DCL: GRANT, REVOKE- TCL: COMMIT, ROLLBACK=> 나중에 나오니깐 지금은 하나하나 외우지 말자. 관계 데이터 모델 & 관계대수: SQL의 이론적 토대 데이터베이스 설계와 데이터 정의어 데이터베이스 설계: 현실세계를 추상화하여 저장하는 활동  1. c.. 2025. 3. 29.