전체 글
-
9.1 Programming languages데이터베이스 시스템 2024. 11. 19. 09:11
프로그래밍 언어프로그래밍 언어는 두 가지 주요 범주 또는 패러다임으로 나뉜다: 명령형(Imperative)과 선언형(Declarative).명령형 언어(Imperative Languages)는 프로그램 단계의 실행 순서를 결정하는 제어 흐름(Control Flow) 문을 포함한다. 제어 흐름 문에는 반복적으로 코드를 실행하는 루프(Loop)와 조건적으로 코드를 실행하는 조건문(Conditional)이 포함된다.절차적 언어(Procedural Languages): 절차(Procedures)로 구성되며, 이는 함수(Functions) 또는 서브루틴(Subroutines)이라고도 한다. 1990년 이전에 개발된 대부분의 언어는 절차적 언어이다.예: C, COBOL객체 지향 언어(Object-Oriented L..
-
8.4 Relational algebra데이터베이스 시스템 2024. 11. 18. 05:19
Operations and expressions 연산 및 표현식E. F. Codd는 관계형 모델에 대한 원래 논문에서 테이블을 조작하기 위한 형식적인 연산을 소개했다. 이러한 연산은 관계 대수(Relational Algebra)라고 불리며, 이후 정제되어 SQL의 이론적 기반이 되었다. 관계 대수는 주로 이론적인 관심의 대상이지만, SQL 쿼리의 컴파일에 실질적인 응용을 가지고 있다. 관계 대수에는 9개의 연산이 있다. 각 연산은 주로 그리스 문자의 특수 기호로 표시된다. 연산 기호는 숫자에 대해 사용되는 +, -, ×, /처럼 테이블과 결합하여 표현식으로 사용할 수 있다. 각 관계 대수 표현식은 SQL 쿼리와 동등하며 단일 결과 테이블을 정의한다. Table 8.4.1: 관계대수 연산OperationS..
-
8.3 View tables데이터베이스 시스템 2024. 11. 17. 06:07
Creating views 뷰 생성테이블 설계는 저장 공간 최소화, 빠른 쿼리 실행, 관계형 및 비즈니스 규칙 지원 등 다양한 이유로 최적화된다. 그러나 때로는 이러한 설계가 데이터베이스 사용자와 프로그래머에게 이상적이지 않을 수 있다. 예를 들어, Employee 테이블에는 이름, 결혼 여부, 생년월일 등 개인 정보가 포함될 수 있다. 별도의 Address 테이블에는 직원 주소가 포함될 수 있는데, 이 설계는 여러 직원이 동일한 주소를 공유할 수 있게 한다. 하지만 인사부 직원은 개인 정보와 주소 정보를 한 테이블에서 보고 싶어 할 수 있다. 뷰 테이블(View Table)은 이 문제를 해결한다. 뷰는 기본 데이터베이스 설계를 변경하지 않고 테이블 열과 데이터 유형을 재구성한다. 뷰 테이블은 SELEC..
-
8.2.1: Complex queries example데이터베이스 시스템 2024. 11. 16. 05:40
영어로 공부하니까 문제를 이해를 못하겠네 level 1A university wants to know the names of instructors who taught sections that are not full, meaning that the capacity is greater than the number of students enrolled. What tables contain data relevant to the university's question?▼View solution더보기Instructor, SectionInstructor, Section, Enrollment Instructor: Instructor 테이블에는 강사의 이름과 성이 포함되어 있으며, 이는 결과 테이블에 필요하다. Sect..
-
8.2 Complex query데이터베이스 시스템 2024. 11. 15. 04:43
복잡한 쿼리 작성하기데이터베이스 사용자는 여러 테이블에서 데이터를 조인하여 비즈니스 질문에 답하는 복잡한 SQL 쿼리를 자주 작성한다. 예를 들어, 서점은 "여름에 가장 많이 팔리는 책은 무엇인가?" 또는 "서부 해안 지역 고객들이 구매하는 책의 유형은 무엇인가?"와 같은 질문을 할 수 있다. 복잡한 쿼리를 작성하기 위해 데이터베이스 사용자는 다음과 같은 전략을 사용할 수 있다:테이블 다이어그램 또는 다른 데이터베이스 요약을 검토하여 테이블과 관계를 이해한다.질문에 답하기 위해 필요한 데이터를 포함하는 테이블을 식별한다.결과 테이블에 표시될 열을 결정한다.테이블의 기본 키와 외래 키를 사용하여 테이블을 조인하는 쿼리를 작성한다.문제를 단순한 쿼리로 나누어, 쿼리의 각 부분을 하나씩 작성한다.Zion Bo..
-
8.1 Subqueries데이터베이스 시스템 2024. 11. 14. 08:03
Subqueries서브쿼리는 때때로 중첩 쿼리(Nested Query) 또는 내부 쿼리(Inner Query)라고도 불리며, 하나의 SQL 쿼리 내에 포함된 또 다른 쿼리이다. 일반적으로 SELECT 문장의 WHERE 절에서 사용되어 외부 쿼리에 데이터를 제공하고 선택된 결과를 제한한다. 서브쿼리는 괄호 () 안에 작성된다. 외부 SELECT 문은 서브쿼리를 사용하여, Aruba의 공식 언어보다 높은 비율로 사용되는 Language를 확인한다.서브쿼리가 먼저 실행되어 ABW의 공식 언어 Percentage인 5.3을 찾는다.외부 쿼리는 서브쿼리에서 반환된 값 5.3을 사용하여 실행한다. 그 결과, 세 가지 Language가 Percentage 5.3보다 크다.SELECT 문은 서브쿼리와 함께 IN 연산자..
-
7.7 LAB - Multiple joins with aggregate (Sakila)데이터베이스 시스템 2024. 11. 13. 04:57
Refer to the film, actor, and film_actor tables of the Sakila database. The tables in this lab have the same columns and data types but fewer rows. The tables are initialized with LOAD rather than INSERT statements. The LOAD statements read data from .csv files. In these files, \N represents NULL.Write a statement that:Computes the average length of all films that each actor appears in.Rounds av..
-
7.6 LAB - Select employees and managers with inner join데이터베이스 시스템 2024. 11. 12. 09:24
The Employee table has the following columns: ID - integer, primary key FirstName - variable-length string LastName - variable-length string ManagerID - integer Write a statement that selects employees' first name and their managers' first name. Select only employees that have a manager. Order the result by employee first name. Use aliases to name the result columns Employee and Manager. Hint: J..