List of commits:
Subject Hash Author Date (UTC)
Finishing with Exam 2 4e0eb343744b5f39ac32145ca7dc61a26b3f48ee caubert 2021-04-09 20:33:48
Added problem and solution of second exam 2b344a25e84c7ebc827c1503151981380ec08f31 caubert 2021-04-07 18:08:08
Worked on exam 2 649fce8b5cbc3f5a98ae905ae8cc56d8baa5df99 caubert 2021-04-06 19:18:54
Clarification on sql injection. f9450ef20ef15cc048c1c2775cbf5e29c4be7255 caubert 2021-03-31 14:56:56
Added an example of batch processing of prepared statement. f83adc39b5066412fa78fdc0aeccb51ccdba908a caubert 2021-03-31 13:39:52
Added an example of batch processing of prepared statement. c206f2899162396a7f391728db8be23031253454 caubert 2021-03-31 13:38:48
Fixed pb (CONSULTATION relation: justification, primary key and normal form) 14aef6161421064f879c5fe803abb4836eebba0a caubert 2021-03-25 20:58:59
Fixed pb (CONSULTATION relation: justification, primary key and normal form) be645c3e4215fd02ed089b843582d8c870525366 caubert 2021-03-25 20:55:34
Fixes in the DB app chapter. 50082333323792958b213f9b0e5e7dc3a2ed47c5 caubert 2021-03-24 18:46:24
Fixed some include code. 9caf6bc12caded947f222cb03fa0c1b10f2c8041 caubert 2021-03-24 13:11:20
Added question from quiz #3 7426197119517bff992e7753174de82ae3ff7ed7 caubert 2021-03-22 16:37:09
Added instructions in case the server time zone is off. 6f845eee2eec6538a18e6e64fa5e140039aa4482 caubert 2021-03-22 14:32:00
Added a reference to UML. 7b36cee0763b42c481474181423020cb600123fd caubert 2021-03-17 13:59:50
Some notes in DB applications added. 3535d187737aea90413e73489729a4a64ce89f80 caubert 2021-03-17 13:55:48
Fixed typo cfc6ac63d8ed0d0a2b9f4f530524d4723f5baae6 caubert 2021-03-12 18:36:32
fixed couple of typos. 6191d6cc01638c07ab0b48a086718fc2440fa367 caubert 2021-03-12 18:31:47
Added quiz #2$ ff134e831427d6e24603af76be52576928dae301 caubert 2021-03-01 19:51:12
Added missing file. d7f2b8ceb14456db8ee2857fcd2b9445bcff1f95 caubert 2021-02-16 18:54:57
Added more complex queries and triggers for HW_Vaccine. 1b133f143e9c6fec72271de28345df39689235f8 caubert 2021-02-09 20:23:30
Added project 1 and its solution. 14f03a1733c084b26dbc72c009e2b7b832ed8643 caubert 2021-02-06 21:46:04
Commit 4e0eb343744b5f39ac32145ca7dc61a26b3f48ee - Finishing with Exam 2
Author: caubert
Author date (UTC): 2021-04-09 20:33
Committer name: caubert
Committer date (UTC): 2021-04-09 20:33
Parent(s): 2b344a25e84c7ebc827c1503151981380ec08f31
Signer:
Signing key:
Signing status: N
Tree: 895ca986bf75491b8690d2cf5f92db392eb1ae05
File Lines added Lines deleted
notes/lectures_notes.md 18 9
File notes/lectures_notes.md changed (mode: 100644) (index 7909cdc..7b457be)
... ... The quizzes are not indicated, but were generally a mix of up to five exercises
150 150 - A series of small commands to explain, like @exercise:explainsql3, @exercise:explainsql4 and @exercise:explainsql5 - A series of small commands to explain, like @exercise:explainsql3, @exercise:explainsql4 and @exercise:explainsql5
151 151 - [%D %n (%T)](#problem:printing-station) - [%D %n (%T)](#problem:printing-station)
152 152 - [%D %n (%T)](#problem:ComputerSelectTer) - [%D %n (%T)](#problem:ComputerSelectTer)
153
153 - Exam #2:
154 - A series of questions about database application and security
155 - [%D %n (%T)](#problem:conf-er)
156 - Converting the ER diagram in _the solution_ of [%D %n (%T)](#problem:job-offers) into a relational model
157 - [%D %n (%T)](#problem:grade_report)
158
154 159 ### Fall 2020 {-} ### Fall 2020 {-}
155 160
156 161 - Project #1: [%D %n (%T)](#problem:project1bis) - Project #1: [%D %n (%T)](#problem:project1bis)
 
... ... The quizzes are not indicated, but were generally a mix of up to five exercises
159 164 - [%D %n (%T)](#problem:rel_model_pet_shelter) - [%D %n (%T)](#problem:rel_model_pet_shelter)
160 165 - Exam #2: - Exam #2:
161 166 - [%D %n (%T)](#problem:teaching) - [%D %n (%T)](#problem:teaching)
162 - [%D %n (%T)](#problem:grade_report)
167 - A variation on [%D %n (%T)](#problem:grade_report)
163 168 - [%D %n (%T)](#problem:cellphones) - [%D %n (%T)](#problem:cellphones)
164 169 - Five small exercises about [data base application](#exercises-4). - Five small exercises about [data base application](#exercises-4).
165 170 - Final: - Final:
 
... ... Problem (Normal form for the GRADE\_REPORT Relation) +.#grade_report
7740 7745
7741 7746 Consider the following relation: Consider the following relation:
7742 7747
7743 GRADE\_REPORT(StudentID, Term, StudentName, Address, Major, CourseID, CourseTitle, LetterGrade, Grade)
7748 GRADE\_REPORT(StudentID, Term, StudentName, Department, Major, CourseNum, CourseTitle, LetterGrade, Grade)
7744 7749
7745 7750 and the following functional dependencies: and the following functional dependencies:
7746 7751
7747 7752 ------------------------------------ ------- ------------- ------------------------------------ ------- -------------
7748 7753 StudentID $\to$ StudentName StudentID $\to$ StudentName
7749 Major $\to$ Address
7750 {Major, CourseID} $\to$ CourseTitle
7754 Major $\to$ Department
7755 {Major, CourseNum} $\to$ CourseTitle
7751 7756 Grade $\to$ LetterGrade Grade $\to$ LetterGrade
7752 {StudentID, Term, CourseID, Major} $\to$ Grade
7757 {StudentID, Term, CourseNum, Major} $\to$ Grade
7753 7758 ------------------------------------ ------- ------------- ------------------------------------ ------- -------------
7754 7759
7755 Underline the primary key for that relation, then normalize it to the third normal form (you can indicate the second normal form if you want).
7760 Identify a possible primary key for that relation.
7761 Then, using that primary key, decide if this relation is in second normal form. If it is not, identify a functional depency that prevents the relation from being in second normal form.
7762 Finally, normalize it to the third normal form.
7756 7763 Try to pick meaningful names for your relations. Try to pick meaningful names for your relations.
7757 7764
7758 7765 --- ---
 
... ... Solution to [%D %n (%T)](#problem:isp)
8338 8345 Solution to [%D %n (%T)](#problem:grade_report) Solution to [%D %n (%T)](#problem:grade_report)
8339 8346 ~ ~
8340 8347
8341 The primary key would be \{StudentID, Term, Major, CourseID\}.
8342
8348 The primary key would be \{StudentID, Term, Major, CourseNum\}.
8349
8350 Numerous functional dependencies prevent it from being in second normal form, for instance StudentID $\to$ StudentName prevents the functional dependency {StudentID, Term, CourseNum, Major} $\to$ StudentName from being full.
8351
8343 8352 We obtain the following five relations when we normalize it to the third normal form: We obtain the following five relations when we normalize it to the third normal form:
8344 8353
8345 8354 GRADE\_REPORT(S͟t͟u͟d͟e͟n͟t͟I͟D͟, T͟e͟r͟m͟, C͟o͟u͟r͟s͟e͟I͟D͟, M͟a͟j͟o͟r͟, Grade) GRADE\_REPORT(S͟t͟u͟d͟e͟n͟t͟I͟D͟, T͟e͟r͟m͟, C͟o͟u͟r͟s͟e͟I͟D͟, M͟a͟j͟o͟r͟, Grade)
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/caubert/CSCI_3410

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/caubert/CSCI_3410

Clone this repository using git:
git clone git://git.rocketgit.com/user/caubert/CSCI_3410

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main