List of commits:
Subject Hash Author Date (UTC)
Added solution to quiz #4. db0de8ba5c6605d77fdbc076f3a9e5b3851d83e0 aubert@math.cnrs.fr 2019-03-15 20:57:13
Added questions for Quiz #4. 30d908601e9431ec0901d4001ddbf99bf14f75d0 aubert@math.cnrs.fr 2019-03-15 17:52:24
Worked on narrative in Chapter 4, mostly ER diagrams. 9e0cc5fc5a2b4087fe1191f1ba5926f87ad5a7bd aubert@math.cnrs.fr 2019-03-12 18:57:16
Updated list of known bugs. d51ff0a5bb73f09eb8d3eb7520ebb77555911e69 aubert@math.cnrs.fr 2019-03-12 17:09:22
Updating the README with the list of new files. bb35e21746d958d649b226a5857150d975d85403 aubert@math.cnrs.fr 2019-03-07 15:20:04
Adding a list of bug, and the sketch of a guide to contribute. 3a94b1fa49aee97001a45325f3f10f09475bf388 aubert@math.cnrs.fr 2019-03-07 15:14:38
Fixed the size of the images, added mention of the support of Affordable Learning Georgia. 485cf486d8d2b08427e5d02eda56d5b7a9495b38 aubert@math.cnrs.fr 2019-03-05 19:37:39
Finishing homework #5. e322bc945941083b0649557d9ad6bdbb8308c10c aubert@math.cnrs.fr 2019-03-04 15:10:15
Preparing homework 5 2b9ba64d1d36ae9f413929947cac5e6cddceb3dc aubert@math.cnrs.fr 2019-03-01 20:06:12
Some fixes and added quiz #3. d73c356f1bec9679f7123bc508c1863f8de40aef aubert@math.cnrs.fr 2019-02-28 20:34:04
Working on solutions for problems in Chapter 3. 0da378f97cea97fa2b3614f1b611a3b5bdf42632 aubert@math.cnrs.fr 2019-02-26 19:56:23
Forgot one exercise in exam. 611bbe4cc68f802bfffd7bdfc70c3433a70eceb5 aubert@math.cnrs.fr 2019-02-22 20:39:07
Quick fix c22751b88c377a40dd2c037a706409aa29ef3ce2 aubert@math.cnrs.fr 2019-02-22 20:37:21
Various editing, fixing some of the solutions in Chapter 3 and some of the exercises in Chapter 4. 1e1d8dd576329b20aa3b7f9344aaecb9d11fc6f4 aubert@math.cnrs.fr 2019-02-22 20:22:09
Added the rest of the first exam for Fall 2019. 0d5a839282b1ae6e6c07e7b12a74ff2f0f2f3b86 aubert@math.cnrs.fr 2019-02-22 20:03:02
Adding a problem and its solution, in the SQL chapter. d5bfcbb949a6acac68156a8b37d6f8d23375b1cb aubert@math.cnrs.fr 2019-02-19 19:53:27
Adding second quiz, and fixing some exercises and problems in Chapter 3. 062c9b46fad52848efbf61e08c91103c0bae4127 aubert@math.cnrs.fr 2019-02-06 20:04:16
Clarification on SQL constraints. 70e26a02aa344cc1bf009a089623be6baac79ba7 aubert@math.cnrs.fr 2019-01-29 22:46:26
Adding some minor SQL remarks + code for HW_FACULTY. 1d1b74302d29fb63c3c2bacca30533283f720997 aubert@math.cnrs.fr 2019-01-25 17:24:16
fixing small typo. 0feeb8df61e05d6d0990120628303cf31108f100 aubert@math.cnrs.fr 2019-01-22 18:23:34
Commit db0de8ba5c6605d77fdbc076f3a9e5b3851d83e0 - Added solution to quiz #4.
Author: aubert@math.cnrs.fr
Author date (UTC): 2019-03-15 20:57
Committer name: aubert@math.cnrs.fr
Committer date (UTC): 2019-03-15 20:57
Parent(s): 30d908601e9431ec0901d4001ddbf99bf14f75d0
Signing key:
Tree: f634bbb47e1a268968e3e609b9867cf153f097b3
File Lines added Lines deleted
notes/fig/rel_mod/BIKE_FK.tex 51 0
notes/lectures_notes.md 31 0
File notes/fig/rel_mod/BIKE_FK.tex added (mode: 100644) (index 0000000..37d3df5)
1 \documentclass[border=20pt]{standalone}
2 \input{template.def}
3
4
5 % ACTOR(Id (PK), Name, Birthdate)
6 % MOVIE(Title (PK), Year, Length, Studio)
7 % THEATER(Name (PK), Street, City, State, Zip)
8 % ACTING(ActorId (PK, FK to ACTOR.Id), MovieTitle (PK, FK to MOVIE.Title))
9 % SHOWING(TheaterName (PK, FK to THEATER.Name), MovieTitle(PK, FK to MOVIE.Title), Day (PK), Time (PK))
10
11 \Frame(0,0){1}[CUSTOMER]{
12 Name/PK,
13 Phone/A,
14 AssignedEmployee/A,
15 LevelOfSatisfaction/A};
16
17 \Frame(0,-2.5){2}[BIKE]{
18 DroppedTimeDate/PK,
19 Customer/PK,
20 Color/A,
21 Brand/A,
22 RepairedBy/A};
23
24 \Frame(10,0){3}[EMPLOYEE]{
25 Name/PK};
26
27 \Frame(10,-2.5){4}[SPECIALTY]{
28 Employee/PK,
29 Specialty/PK};
30
31 \draw[FK] % From CUSTOMER.AssignedEmployee to EMPLOYEE.Name
32 (Name3)++(-0.2,0) -- ++(0,-.55) coordinate (inter)
33 -- (AssignedEmployee1 |- inter) --++(0, 0.5);
34
35 \draw[FK] % From BIKE.Customer to CUSTOMER.Name
36 (Name1)++(0.1,0) -- ++(0,-0.5) --++(-1.5, 0)
37 --++(0, -3)
38 coordinate (inter)
39 -- (Customer2 |- inter) --++(0, 1);
40
41 \draw[FK] % From BIKE.RepairedBy to EMPLOYEE.Name
42 (Name3)++(0,0) -- ++(0,-.75)--++(-1, 0) --++(0, -3)
43 coordinate (inter)
44 -- (RepairedBy2 |- inter) --++(0, 1.3);
45
46 \draw[FK] % From SPECIALTY.Employee to EMPLOYEE.Name
47 (Name3)++(0.2,0) -- ++(0,-.85)--++(-1, 0) --++(0, -2.9)
48 coordinate (inter)
49 -- (Employee4 |- inter) --++(0, 1.25);
50 \end{tikzpicture}
51 \end{document}
File notes/lectures_notes.md changed (mode: 100644) (index 407b5b0..40a6f2e)
... ... Solution to [%D %n (%T)](#problem:roleplaying)
3499 3499 ](fig/rel_mod/RPG) ](fig/rel_mod/RPG)
3500 3500 \ \
3501 3501
3502 ---
3503
3502 3504 Solution to [%D %n (%T)](#problem:sqlBooks) Solution to [%D %n (%T)](#problem:sqlBooks)
3503 3505 ~ ~
3504 3506
 
... ... Solution to [%D %n (%T)](#problem:car-insurance)
5303 5305
5304 5306 --- ---
5305 5307
5308
5309
5310 Solution to [%D %n (%T)](#problem:ERtoRELBike)
5311 ~
5312 "Is it true that …"
5313
5314
5315 <!-- bug with table -->
5316   | Yes | No |
5317 ------------ | --- | --- |
5318 "… a customer cannot drop two bikes at the exact same time and date? | ✔ |   |
5319 "… two different customers cannot drop two different bikes at the exact same time and date? |   | ✔ |
5320 "… an employee cannot repair two bikes at the same time? |   | ✔ |
5321 "… a customer can be assigned to more than one employee? |   | ✔ |
5322 "… a customer can have a bike repaired by an employee that is not assigned to them? | ✔ |   |
5323 "… a bike can be in the database without having been dropped by a customer? |   | ✔ |
5324 "… an employee can be asked to repair a bike without having that type of bike as one of their specialty? | ✔ |   |
5325
5326 For the $1:M$ relationships that are not identifying, we can chose between the foreign key and the cross-reference approaches.
5327 If we use the former, we obtain:
5328
5329 ![](fig/rel_mod/BIKE_FK)
5330
5331 We could also have used a combination of both!
5332
5333 ---
5334
5306 5335 Solution to [%D %n (%T)](#problem:carsale) Solution to [%D %n (%T)](#problem:carsale)
5307 5336 ~ ~
5308 5337
 
... ... Solution to [%D %n (%T)](#problem:book)
5364 5393 - Because of \{Book title\} → \{ Book\_type\} → \{ List\_price\}\\ - Because of \{Book title\} → \{ Book\_type\} → \{ List\_price\}\\
5365 5394 (Book Title, Publisher, Book Type) and (Book Type, List Price), (Author Name, Author Affiliation), (Author Name, Book Title). (Book Title, Publisher, Book Type) and (Book Type, List Price), (Author Name, Author Affiliation), (Author Name, Book Title).
5366 5395
5396 ---
5397
5367 5398 Solution to [%D %n (%T)](#problem:carinfo) Solution to [%D %n (%T)](#problem:carinfo)
5368 5399 ~ ~
5369 5400
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