List of commits:
Subject Hash Author Date (UTC)
Changing end-of-line tyes. b9efef4052a41d6444c7e3c173859f32b98f32b8 aubert@math.cnrs.fr 2020-04-10 19:54:21
Changes to ease merging. 77a481a4534bb0594e9fba45457450b14a7834b9 aubert@math.cnrs.fr 2020-04-10 19:51:38
Update Naming Convention.md 8c4884331492385f759784da347ac0b5c79b41a3 Poonam Veeral 2020-04-10 15:51:39
Update Naming Convention.md 2d8a1085f6f801da7ec69842fbd62cf5b2e9d056 Poonam Veeral 2020-04-09 16:37:10
Update Naming Convention.md fd3a77024bdb825a905d5a4913d3e97642336a16 Poonam Veeral 2020-04-09 16:35:01
Update Naming Convention.md 1017cd664b47b82f8f2689a1f295d8948e193eff Poonam Veeral 2020-04-09 16:33:59
Update Naming Convention.md 522d6f2f656e4d96db8e5bc81e626c6ba51b5a09 Poonam Veeral 2020-04-09 16:31:06
Update Naming Convention.md 24cde6ec7174b70496a62d0b1dd3d0c955513a84 Poonam Veeral 2020-04-09 16:30:10
Update Naming Convention.md 606049c713b804956cc4f3c9a2700887125dc3e3 Poonam Veeral 2020-04-09 16:29:16
Update Naming Convention.md e2d70be8c8cf05c10be7194f5a86ad84a71dcba2 Poonam Veeral 2020-04-09 16:27:09
Update Naming Convention.md b297f088e45d4cab3bca47272eb5d7d283997815 poonamveeral 2020-04-09 16:16:43
Update Naming Convention.md 562ba67f4338884279c312eddf7fd1688d314da3 Poonam Veeral 2020-04-09 16:16:01
Update Naming Convention.md fa669e84e04edadb029e834caedf56223b897fe0 Poonam Veeral 2020-04-09 16:09:31
Update Naming Convention.md 12eb5e6aea619c56222817878567db2e23aacc41 Poonam Veeral 2020-04-09 16:05:26
Update Naming Convention.md d39a8ec969e2d9023dfa75e39aadd537ef3c79e3 Poonam Veeral 2020-04-09 16:02:16
Naming Convention Updated 2ba945dc245814e8cc0641482b053c953e65e779 Poonam Veeral 2020-04-09 15:51:43
Update lectures_notes.md d62f8789a67b025a618b2047c6bbaa912e617834 Poonam Veeral 2020-04-08 19:00:25
update 6fd8bae9a3068318513bb261f79a0a07d3c87f17 Poonam Veeral 2020-04-08 15:37:39
Update lectures_notes.md be9ca4670f042e27dfd60082cf0b081401dc072d poonamveeral 2020-04-08 14:29:08
Rename Print.tex to print.tex 8a2253b100e8fb661c03e410e61c87e6e0dd768a poonamveeral 2020-04-08 13:45:56
Commit b9efef4052a41d6444c7e3c173859f32b98f32b8 - Changing end-of-line tyes.
Author: aubert@math.cnrs.fr
Author date (UTC): 2020-04-10 19:54
Committer name: aubert@math.cnrs.fr
Committer date (UTC): 2020-04-10 19:54
Parent(s): 77a481a4534bb0594e9fba45457450b14a7834b9
Signer:
Signing key:
Signing status: N
Tree: e643a41a12907f6ba8019e8f63a9176cc11bf49b
File Lines added Lines deleted
CONTRIB.md 82 82
KNOWN_BUGS.md 260 260
LICENSE.md 169 169
README.md 88 88
TO_DO.md 22 22
WORKFLOW.md 118 118
notes/bib/bib.bib 122 122
notes/bib/entry.bib 10 10
notes/bib/test_entry.tex 7 7
notes/lectures_notes.md 8676 8676
notes/style/style.css 544 544
notes/temp.md 45 45
File CONTRIB.md changed (mode: 100644) (index bc812ab..1dae8c9)
1 ---
2 title: How to Contribute?
3 bibliography: [ bib/bib.bib ]
4 ---
5
6 # Contributing
7
8 We're really glad you're reading this, because we need students, volunteers and contributors (at all level!) to help this project come to fruition.
9 To familiar yourself with the open source eco-system and how you can help projects, please have a first look at <https://opensource.guide/>.
10
11 ## How to Contribute
12
13 If you want to learn markdown, which is the language used to write those notes, refer to e.g. <https://commonmark.org/help/>.
14
15 ## What to Contribute
16
17 ### Did You Find a Bug, Mistake, or Typo?
18
19 ### Do You Have a Question About the Source Code?
20
21 ### Suggestions
22
23 Please refer to [`KNOWN_BUGS.md`](KNOWN_BUGS.html) for a list of known bugs.
24
25 ## Guidelines
26
27 ### Text
28
29 - Titles are capitalized using the Chicago Manual:
30
31 > - Capitalize the first and the last word.
32 > - Capitalize nouns, pronouns, adjectives, verbs, adverbs, and subordinate conjunctions.
33 > - Lowercase articles (a, an, the), coordinating conjunctions, and prepositions.
34 > - Lowercase the ‘to’ in an infinitive (I want to play guitar).
35
36 - Please, keep in mind that, as [@knuth1989mathematical, p. 19] writes:
37
38 > Exercises are some of the most difficult parts of a book to write. Since an exercise has very little context, ambiguity can be especially deadly; a bit of carefully chosen redundancy can be especially important.
39
40
41 ### Code
42
43 #### Java
44
45 Types of comments:
46
47 #. Documentation comments- These describe classes, methods, content, etc. Usually placed before declarations.
48
49 ```{.java}
50 /**
51 * Documentation
52 * Comment
53 */
54 ```
55
56 #. Single line comments
57
58 ```{.java}
59 // Comment
60 ```
61
62 #. Multi-line comments
63
64 ```{.java}
65 /*
66 * Comment
67 * Continued
68 */
69 ```
70
71 #### SQL
72
73 #### XML
74
75 <!--
76 This wasn't requested but I will take a look while on this topic if you'd like
77 -->
78
79 #### CSS
80
81
82 # References {-}
1 ---
2 title: How to Contribute?
3 bibliography: [ bib/bib.bib ]
4 ---
5
6 # Contributing
7
8 We're really glad you're reading this, because we need students, volunteers and contributors (at all level!) to help this project come to fruition.
9 To familiar yourself with the open source eco-system and how you can help projects, please have a first look at <https://opensource.guide/>.
10
11 ## How to Contribute
12
13 If you want to learn markdown, which is the language used to write those notes, refer to e.g. <https://commonmark.org/help/>.
14
15 ## What to Contribute
16
17 ### Did You Find a Bug, Mistake, or Typo?
18
19 ### Do You Have a Question About the Source Code?
20
21 ### Suggestions
22
23 Please refer to [`KNOWN_BUGS.md`](KNOWN_BUGS.html) for a list of known bugs.
24
25 ## Guidelines
26
27 ### Text
28
29 - Titles are capitalized using the Chicago Manual:
30
31 > - Capitalize the first and the last word.
32 > - Capitalize nouns, pronouns, adjectives, verbs, adverbs, and subordinate conjunctions.
33 > - Lowercase articles (a, an, the), coordinating conjunctions, and prepositions.
34 > - Lowercase the ‘to’ in an infinitive (I want to play guitar).
35
36 - Please, keep in mind that, as [@knuth1989mathematical, p. 19] writes:
37
38 > Exercises are some of the most difficult parts of a book to write. Since an exercise has very little context, ambiguity can be especially deadly; a bit of carefully chosen redundancy can be especially important.
39
40
41 ### Code
42
43 #### Java
44
45 Types of comments:
46
47 #. Documentation comments- These describe classes, methods, content, etc. Usually placed before declarations.
48
49 ```{.java}
50 /**
51 * Documentation
52 * Comment
53 */
54 ```
55
56 #. Single line comments
57
58 ```{.java}
59 // Comment
60 ```
61
62 #. Multi-line comments
63
64 ```{.java}
65 /*
66 * Comment
67 * Continued
68 */
69 ```
70
71 #### SQL
72
73 #### XML
74
75 <!--
76 This wasn't requested but I will take a look while on this topic if you'd like
77 -->
78
79 #### CSS
80
81
82 # References {-}
File KNOWN_BUGS.md changed (mode: 100644) (index ee4f999..5b404ef)
1 ---
2 title: Known Bugs
3 ---
4
5 CONTENT TO ADD
6 ===============
7
8 - Add exercises and problems involving triggers and stored procedures.
9 - Add content on Security and "Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles."
10 - Mention / discuss propagate options, and UNIQUE / NOT NULL, etc. options on particular attributes, during the discussion on how to map E.R. diagram to the relational model.
11 - Explain what "try-with-ressource" is in Java (cf. <https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html>, and remove the call to the close() after explaining that Statement and Connection are auto-closeable. (<https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html>, <https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html>).
12
13 TO ANSWER
14 =========
15
16 - Can you make union of different datatypes?
17 - When you count, do you count null?
18 - cf notes for Lecture 14: weak entity with identifying relation of degree more than 1. Joint filling. Unclear.
19 - Can an identifying relationship being of mutiplicity more than 1? I.e., a pet is in my DB only if it belongs to a friend, but a pet can belong to more than 1 friend.
20 - Can an attribute of a relation being a key? Cf. Spring 2018, Final Exam, pb 1.
21 - Can a multi-valueded attribute be a key attribute?
22 - Can an identfying relationship have arity 3, with only one side identifying?
23 - Can a weak entity have a ratio greater than 1 (i.e., a dependent that is dependent of 2 employees)?
24 - Can we have "Dependant -- Employee -- Plan" for the coverage of dependent, where Dependant is weak, Employee is identifying, but Plan is also part of the relationship, without being identfying or weak?
25
26
27 TO FIX
28 =======
29
30 MARKDOWN
31 --------
32
33 - Re-type img/ and organize them (FunDep, ER, UML, Rel, Design, Misc?).
34 - There is no clear naming convention for the files in the fig/ folder.
35 - Add "question" environments to _all_ the problems.
36 - "Inline" small code with `ALTER TABLE STAFF ADD PRIMARY KEY(Id);`{.sqlmysql}
37 - Make separation of lecture in another way. Or remove it?
38 - Make all the common part of the template.def into a common file?
39 - There is no good naming convention for the labels in the markdown file.
40 - Include relevant code
41 - Add example environment?
42 - Having one bib. per section: <https://github.com/jgm/pandoc/issues/771>. Warning, this is a different issue from using `--reference-location=block --reference-links` cf. <https://pandoc.org/MANUAL.html>.
43 - Put references from problems to solutions.
44 - List of problem not an hyperlink in the toc (cf. <https://github.com/chdemko/pandoc-numbering/issues/12>).
45
46
47 DRAWINGS
48 --------
49
50 - The source code is often more complicated than needed.
51 - The colors should be unified, and kept to a low number.
52 - Start using <https://gist.github.com/rodneyrehm/40e7946c0cff68a31cea> to draw the diagrams for the documentation ?
53 - That every ER diag. has a (correct) description.
54
55 MAKEFILE
56 --------
57
58 - fig_svg should wait for fig to be completed before starting.
59 - The Phony rules should be called only if needed.
60
61 HTML
62 ----
63
64 - Add alt text
65 - Add the possibility for the table of content to "follow" the reading, expanding the titles as we go, and highlighting the current section under reading. This could be achieved using something similar to <https://jsfiddle.net/vu6hN/28/> (cf. <https://stackoverflow.com/questions/27610892/highlight-menu-on-scrolling-if-reach-div>) or <https://www.ruediger-voigt.eu/big-dataset-csv-import-to-relational-databases.html>.
66 - Make a more "mobile-friendly" version. Defer loading of image?
67 - Make all the images clickable to open (in pop-ups?) better versions of them, or make the svg zoomable. Cf. (best one?) https://github.com/ariutta/svg-pan-zoom or https://bl.ocks.org/mbostock/db6b4335bf1662b413e7968910104f0f or http://www.petercollingridge.co.uk/tutorials/svg/interactive/pan-and-zoom/ or even https://stackoverflow.com/questions/25866342/zoomable-inline-svg
68
69
70
71 CSS
72 ---
73
74 - Wrap the line code. Now it is prevented by
75
76 white-space: pre; div.sourceCode { margin: 1em 0; }
77
78 cf. the discussion at <https://stackoverflow.com/q/57812345/>
79
80 Line Wrapping in DB notes -- Works more or less if there is only 1 line wrapped:
81
82 ```{.css}
83 .sourceLine{
84 white-space: pre-wrap;
85 display:inline-block;
86 width:35m;
87 }
88
89 .sourceLine{
90 background-position: right;
91 background-repeat: no-repeat;// repeat-y;
92 // background-size: 1em 1em;
93 background-size: 1em 100%;
94 background-image: url('data:image/png;base64,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');
95 }
96
97 .sourceLine:first-line{
98 background:blue;
99 // background:none!important
100 }
101
102 ```
103
104 Attempt on the left:
105
106 ```{.css}
107 .sourceLine{
108 white-space: pre-wrap;
109 display:inline-block;
110 width:35m;
111 }
112
113 .sourceLine{
114 background-color:red;
115 padding-left : 1em;
116 background-position: left;
117 background-repeat: repeat-y;
118 // background-size: 1em 1em;
119 background-size: 1em;// 100%;
120 background-image: url('data:image/png;base64,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');
121 }
122 .sourceLine:first-line{
123 background-color:yellow;
124 padding-left:-1em!important;
125 margin-left:-1em;
126
127 /*
128 background:transparent!important;
129 background-image:none!important;
130 background:none!important;
131 background-size:0 0!important;
132 */
133 }
134 ```
135
136 Almost there?
137
138 ```{.css}
139 .sourceLine{
140 white-space: pre-wrap;
141 display:inline-block;
142 width:35m;
143 }
144
145 .sourceLine{
146 background-color:red;
147 margin-right:1em;
148 background-position: right;
149 background-repeat: repeat-y;
150 // background-size: 1em 1em;
151 background-size: 1em;// 100%;
152 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAACLCAYAAAAtU7RjAAAABHNCSVQICAgIfAhkiAAABkRJREFUeF7tnXvInnMYx815yCHJclgWJtoKM0VScsphDnMI2aZQymkLCflnJVHyj1BIMqdWG7Hm0PY6rfwjUqQ23q2EZMKcz9/vvE+enm7P/b2u9/7dh+d3/epqb+/ zve77uj7v9dz373Tfm7JNfu02pHyBmPaN0K3bXhSPkmw6kpkjJrQHdduK4qxlAUn48wekgCQQECRRSQFJICBIopICkkBAkEQlBSSBgCCJSgpIAgFBEpUUkAQCgiQqKSAJBARJVFJAEggIkqikgCQQECRRSQFJICBIopICkkBAkEQlBSSBgCCJSgpIAgFBEpUUkAQCgiQqKSAJBARJVFJAEggIkqikgCQQECRRSQFJICBIopICkkBAkEQlBSSBgCCJSgpIAgFBEpUUkAQCgiQqKSAJBARJVFJAEggIkqikgCQQECRRSQFJICBIopICkkBAkEQljQCki5DDfkIeSSVtriS+T+Rp2Bhs36QUSg7eVkjnIu5nYHyXykzYy7A9S3JJ9nEbIZ2KbJ+F7dCX9ZH4eRVs12Qkhhy4bZBOQKwrYTsXxHz8xGc7FXyW9FdtgnQcMl0NG1YtrLLe1zApmP6DtwXSMROAdhMyPx+aewRdZZI2QJqNbHhh3vpCJ6H9As1yQVeZpGlIvHO9CttbzOhv6K6CvSPqK5E1CelgZMA+0DRDJndD+5RBX4m0KUgHIvrXYJbe9AvQ31lJ1saDNAGJvWcCmmGI9SNoF8L+MvhUJq0b0j6IfC3sMEMGm6GdB/ve4FOptE5IHFbwLnaEIYPfoeUY7lODT+XSuiDtjsh5FzvamMG10L9h9KlcXgekXRD1i7C5xujvg/4Ro08SeWpIUxH1S7ATjdG/Av2tRp9k8pSQdkTU7BmfZIz+Y+gvgf1p9EsmTwVpO0S8DHaWMfJvoD8H9q3RL6k8BSQCehLGqVdL+wPii2HrLU51aKuGNAVBPwS71BH8DfBZ4/DrlAsBPQjjINRqD9SYKf+IanxnVh3XvYaT9wfJfhAv8nU1M6Sqvm53IcNbHFmOw4c96t8cvrW5VAGJI/PbHRFzLMYx2dcO31pdJguJ79Bf6oiYfaDLYB86fGt3mQykKxHt/c6Ib4Yfl4hGui1CdqwG9S7Rr3u8YTK1XLgvRJKPwjxVuA5+1zQMyXx6a6Ln4Qzeda9N8J0P+9UcZcMOFkinIVYuP3v+r5Mf4Mcx2VcN5+s6vQrpZBydE/GeJWbOS18O+8AVYQucFEhcfn4eVrQ+r6RwB0QE3NlWBukoZMZbtbL8XASB80m1LkkXBTHZ3w27vnC7C0flezlP8iP83oZd7fRP5WZZiBgaA5d8voB5+kGj5LN1FqDo63YIfs+1Mcvy81DiXf9wEJJn+bnrDErj74e0P9RjsINKvTIT9CBx6wsv0tzpEW2AQA8SVyfeDzrFBHqQOKJfAONCYrQBAv3XJG5O4JIOr0vR+ggM3t1+xmdnw94KSv8RGITET36Cce753QD1L4H/G5Z8h4/PgL0O83bjeQyO2xrZnVbRH5j7Ekobt+5R6B1qdH5wW0poQsBe+PgkQHFLcRaN47nPnaA4XWvdn9RZqLMQORcSPV+9L+E3vbOZGwPnHBP3EHlAvQe/YQ/XGENpt5zTuVucoFbAr6jb0e6MndFxYYAdT09FLXWes5NupyNqPjFkBcV+E/cBZNO42MgxnxUUq/DYbCgh0UUwz74AdikOyAkUd+5bq4l6jg+5GT6btsQJimtz3G/Z2sbtxFU1Ps3IAbO1d80BNK9rWU3PeDaY8o7HCb9sGr86D8Os1yjOY83JhhISZa96mQPURvhweiabxuvdcw5Q3A3n2eLTWbDcxM4VGOtX74nOZuwMnM+8jTlA3eQ8X2fdOEXCW7ylotiL54JEVo2v2WAP2wKKTw1wsi+rxkfe+RSABdQ49PTLqnH3yidGUG9CX+eTTK34g3C+e6MR1GOtiLzmIA7F+axbDq+rOcZWnG42othsqCg+p8uV5ewaZyh5F1Mv5lytmZkdJSTM6RVuaVZB8UmjLNspyFpZgeHYLpv1u6JK4Es4hy0scIGTb8/JvvF5Ol6gB7963N2S1TRKWSVcAQFnK3ugNuBny6vNyo4/Mp9fPwHpM/w7Y2SySpDIYhzz8ATHNR3yH8AAiH7XibqvAAAAAElFTkSuQmCC');
153
154 }
155 .sourceLine:first-line{
156 background-color:yellow;
157 /*
158 background:transparent!important;
159 background-image:none!important;
160 background:none!important;
161 background-size:0 0!important;
162 */
163 }
164 ```
165
166 - add actual links in code.
167 - Remove
168
169 ```{.css}
170 @media screen {
171 code.sourceCode > span > a:first-child::before { text-decoration: underline; }
172 }
173 ```
174
175 - What's the point of
176
177 ```{.css}
178 .sourceCode:after {
179 content: attr(data-caption);
180 font-weight:bold;
181 }
182 ```
183 - hover should probably be on line number.
184
185 PDF
186 ----
187
188 - The header are sometimes wrong (in the "Exercises" or "Problems" section, they keep the header of the last section).
189 - Offer multiple pdf format (binder, fewer margins)?
190 - One of the unicode symbol does not exist in the Linux Libertine font: ⌛ (U+231B)
191
192 SQL
193 ----
194
195 - Beautify the code,
196 - Add the "IF EXISTS DROP" in all the shared snippets of code.
197
198 OTHER
199 -----
200
201 - It could be of interest to offer other formats (cf. <http://pandoc.org/> for a complete list), like `epub`, `docx`, or `mediawiki` (for this latest, a line is in the markdown, but the content has not been checked).
202
203 TO DO
204 =======
205
206 - Compress / optimize outputs?
207 - Push on multiple repo. at the same time? Cf. <https://jigarius.com/blog/multiple-git-remote-repositories>.
208
209
210
211 TO CHECK
212 ========
213
214 - Check with `jhove`, `pdfinfo` the validity of the document.
215 - Check that order of exercises / problems match introduction in lecture.
216 - Check that solution of exercises numbering match exercise numbering.
217 - Inline descriptions?
218 - In the abbreviations, S.Q.L. and U.M.L. and E.R., etc, or drop the .?
219 - Consistency, in general.
220 - Spelling, in general.
221
222
223 REFERENCES TO ADD / READ
224 ========================
225
226 - <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/exams/>
227 - <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/lecture-notes/>
228 - <https://opentextbc.ca/dbdesign01/chapter/chapter-7-the-relational-data-model/>
229 - <https://stackoverflow.com/questions/48191228/is-erd-considered-a-kind-of-uml-diagram>
230 - How to derive an SQL-92 database schema from an information design model <https://oxygen.informatik.tu-cottbus.de/IT/Lehre/MDD-Tutorial/#d5e126>
231 - Short presentation of UML diag <https://ocw.mit.edu/courses/civil-and-environmental-engineering/1-264j-database-internet-and-systems-integration-technologies-fall-2013/lecture-notes-exercises/>
232 - Aks for password on DB and other programming ressources Java / DB + mapping datatypse is useful <http://www.cs.man.ac.uk/~horrocks/Teaching/cs2312/Lectures/Handouts/jdbc.pdf>
233 - <https://www.1keydata.com/datawarehousing/data-modeling-levels.html>
234 - <https://en.wikipedia.org/wiki/Unified_Modeling_Language>
235 - <https://creately.com/blog/diagrams/class-diagram-relationships/>
236 - <https://www.ntu.edu.sg/home/ehchua/programming/java/JDBC_Basic.html>
237 - Have the close in a catch as well: <https://en.wikipedia.org/wiki/Java_Database_Connectivity>
238
239 ```{.java}
240 try {
241 conn.close();
242 } catch (Throwable e) { /* Propagate the original exception
243 instead of this one that you want just logged */
244 logger.warn("Could not close JDBC Connection",e);
245 }
246 ```
247
248 cf. also <https://stackoverflow.com/questions/4507440/must-jdbc-resultsets-and-statements-be-closed-separately-although-the-connection> and <https://stackoverflow.com/questions/2225221/closing-database-connections-in-java>
249 - Algo for NF: <http://airccse.org/journal/ijdms/papers/5313ijdms03.pdf>
250 - Security and salting: <https://stackoverflow.com/q/1054022>
251 - Storing password:
252 - PHP <https://stackoverflow.com/q/5882882>
253 - JAVA <https://stackoverflow.com/a/442872>, <https://security.stackexchange.com/q/20294>, <https://security.stackexchange.com/q/19956>, <https://stackoverflow.com/q/8195099>, <https://blog.codinghorror.com/top-25-most-dangerous-programming-mistakes/>, <http://cwe.mitre.org/data/definitions/259.html>
254 - Meaning of BASE: <https://stackoverflow.com/questions/3342497/explanation-of-base-terminology?rq=1>
255 - NoSQL / SQL, <https://blog.panoply.io/sql-or-nosql-that-is-the-question>
256 - ER -> XML, <http://users.dimi.uniud.it/~massimo.franceschet/publications/xsym09.pdf>
257 - XML -> ER, <https://dl.acm.org/citation.cfm?id=1810762>
258 - <http://infolab.stanford.edu/~ullman/dscb.html>
259 - <https://open.umn.edu/opentextbooks/textbooks/database-design-2nd-edition>
260 - <https://www.irif.fr/~amelie/BD.html>
1 ---
2 title: Known Bugs
3 ---
4
5 CONTENT TO ADD
6 ===============
7
8 - Add exercises and problems involving triggers and stored procedures.
9 - Add content on Security and "Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles."
10 - Mention / discuss propagate options, and UNIQUE / NOT NULL, etc. options on particular attributes, during the discussion on how to map E.R. diagram to the relational model.
11 - Explain what "try-with-ressource" is in Java (cf. <https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html>, and remove the call to the close() after explaining that Statement and Connection are auto-closeable. (<https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html>, <https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html>).
12
13 TO ANSWER
14 =========
15
16 - Can you make union of different datatypes?
17 - When you count, do you count null?
18 - cf notes for Lecture 14: weak entity with identifying relation of degree more than 1. Joint filling. Unclear.
19 - Can an identifying relationship being of mutiplicity more than 1? I.e., a pet is in my DB only if it belongs to a friend, but a pet can belong to more than 1 friend.
20 - Can an attribute of a relation being a key? Cf. Spring 2018, Final Exam, pb 1.
21 - Can a multi-valueded attribute be a key attribute?
22 - Can an identfying relationship have arity 3, with only one side identifying?
23 - Can a weak entity have a ratio greater than 1 (i.e., a dependent that is dependent of 2 employees)?
24 - Can we have "Dependant -- Employee -- Plan" for the coverage of dependent, where Dependant is weak, Employee is identifying, but Plan is also part of the relationship, without being identfying or weak?
25
26
27 TO FIX
28 =======
29
30 MARKDOWN
31 --------
32
33 - Re-type img/ and organize them (FunDep, ER, UML, Rel, Design, Misc?).
34 - There is no clear naming convention for the files in the fig/ folder.
35 - Add "question" environments to _all_ the problems.
36 - "Inline" small code with `ALTER TABLE STAFF ADD PRIMARY KEY(Id);`{.sqlmysql}
37 - Make separation of lecture in another way. Or remove it?
38 - Make all the common part of the template.def into a common file?
39 - There is no good naming convention for the labels in the markdown file.
40 - Include relevant code
41 - Add example environment?
42 - Having one bib. per section: <https://github.com/jgm/pandoc/issues/771>. Warning, this is a different issue from using `--reference-location=block --reference-links` cf. <https://pandoc.org/MANUAL.html>.
43 - Put references from problems to solutions.
44 - List of problem not an hyperlink in the toc (cf. <https://github.com/chdemko/pandoc-numbering/issues/12>).
45
46
47 DRAWINGS
48 --------
49
50 - The source code is often more complicated than needed.
51 - The colors should be unified, and kept to a low number.
52 - Start using <https://gist.github.com/rodneyrehm/40e7946c0cff68a31cea> to draw the diagrams for the documentation ?
53 - That every ER diag. has a (correct) description.
54
55 MAKEFILE
56 --------
57
58 - fig_svg should wait for fig to be completed before starting.
59 - The Phony rules should be called only if needed.
60
61 HTML
62 ----
63
64 - Add alt text
65 - Add the possibility for the table of content to "follow" the reading, expanding the titles as we go, and highlighting the current section under reading. This could be achieved using something similar to <https://jsfiddle.net/vu6hN/28/> (cf. <https://stackoverflow.com/questions/27610892/highlight-menu-on-scrolling-if-reach-div>) or <https://www.ruediger-voigt.eu/big-dataset-csv-import-to-relational-databases.html>.
66 - Make a more "mobile-friendly" version. Defer loading of image?
67 - Make all the images clickable to open (in pop-ups?) better versions of them, or make the svg zoomable. Cf. (best one?) https://github.com/ariutta/svg-pan-zoom or https://bl.ocks.org/mbostock/db6b4335bf1662b413e7968910104f0f or http://www.petercollingridge.co.uk/tutorials/svg/interactive/pan-and-zoom/ or even https://stackoverflow.com/questions/25866342/zoomable-inline-svg
68
69
70
71 CSS
72 ---
73
74 - Wrap the line code. Now it is prevented by
75
76 white-space: pre; div.sourceCode { margin: 1em 0; }
77
78 cf. the discussion at <https://stackoverflow.com/q/57812345/>
79
80 Line Wrapping in DB notes -- Works more or less if there is only 1 line wrapped:
81
82 ```{.css}
83 .sourceLine{
84 white-space: pre-wrap;
85 display:inline-block;
86 width:35m;
87 }
88
89 .sourceLine{
90 background-position: right;
91 background-repeat: no-repeat;// repeat-y;
92 // background-size: 1em 1em;
93 background-size: 1em 100%;
94 background-image: url('data:image/png;base64,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');
95 }
96
97 .sourceLine:first-line{
98 background:blue;
99 // background:none!important
100 }
101
102 ```
103
104 Attempt on the left:
105
106 ```{.css}
107 .sourceLine{
108 white-space: pre-wrap;
109 display:inline-block;
110 width:35m;
111 }
112
113 .sourceLine{
114 background-color:red;
115 padding-left : 1em;
116 background-position: left;
117 background-repeat: repeat-y;
118 // background-size: 1em 1em;
119 background-size: 1em;// 100%;
120 background-image: url('data:image/png;base64,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');
121 }
122 .sourceLine:first-line{
123 background-color:yellow;
124 padding-left:-1em!important;
125 margin-left:-1em;
126
127 /*
128 background:transparent!important;
129 background-image:none!important;
130 background:none!important;
131 background-size:0 0!important;
132 */
133 }
134 ```
135
136 Almost there?
137
138 ```{.css}
139 .sourceLine{
140 white-space: pre-wrap;
141 display:inline-block;
142 width:35m;
143 }
144
145 .sourceLine{
146 background-color:red;
147 margin-right:1em;
148 background-position: right;
149 background-repeat: repeat-y;
150 // background-size: 1em 1em;
151 background-size: 1em;// 100%;
152 background-image: url('data:image/png;base64,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');
153
154 }
155 .sourceLine:first-line{
156 background-color:yellow;
157 /*
158 background:transparent!important;
159 background-image:none!important;
160 background:none!important;
161 background-size:0 0!important;
162 */
163 }
164 ```
165
166 - add actual links in code.
167 - Remove
168
169 ```{.css}
170 @media screen {
171 code.sourceCode > span > a:first-child::before { text-decoration: underline; }
172 }
173 ```
174
175 - What's the point of
176
177 ```{.css}
178 .sourceCode:after {
179 content: attr(data-caption);
180 font-weight:bold;
181 }
182 ```
183 - hover should probably be on line number.
184
185 PDF
186 ----
187
188 - The header are sometimes wrong (in the "Exercises" or "Problems" section, they keep the header of the last section).
189 - Offer multiple pdf format (binder, fewer margins)?
190 - One of the unicode symbol does not exist in the Linux Libertine font: ⌛ (U+231B)
191
192 SQL
193 ----
194
195 - Beautify the code,
196 - Add the "IF EXISTS DROP" in all the shared snippets of code.
197
198 OTHER
199 -----
200
201 - It could be of interest to offer other formats (cf. <http://pandoc.org/> for a complete list), like `epub`, `docx`, or `mediawiki` (for this latest, a line is in the markdown, but the content has not been checked).
202
203 TO DO
204 =======
205
206 - Compress / optimize outputs?
207 - Push on multiple repo. at the same time? Cf. <https://jigarius.com/blog/multiple-git-remote-repositories>.
208
209
210
211 TO CHECK
212 ========
213
214 - Check with `jhove`, `pdfinfo` the validity of the document.
215 - Check that order of exercises / problems match introduction in lecture.
216 - Check that solution of exercises numbering match exercise numbering.
217 - Inline descriptions?
218 - In the abbreviations, S.Q.L. and U.M.L. and E.R., etc, or drop the .?
219 - Consistency, in general.
220 - Spelling, in general.
221
222
223 REFERENCES TO ADD / READ
224 ========================
225
226 - <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/exams/>
227 - <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/lecture-notes/>
228 - <https://opentextbc.ca/dbdesign01/chapter/chapter-7-the-relational-data-model/>
229 - <https://stackoverflow.com/questions/48191228/is-erd-considered-a-kind-of-uml-diagram>
230 - How to derive an SQL-92 database schema from an information design model <https://oxygen.informatik.tu-cottbus.de/IT/Lehre/MDD-Tutorial/#d5e126>
231 - Short presentation of UML diag <https://ocw.mit.edu/courses/civil-and-environmental-engineering/1-264j-database-internet-and-systems-integration-technologies-fall-2013/lecture-notes-exercises/>
232 - Aks for password on DB and other programming ressources Java / DB + mapping datatypse is useful <http://www.cs.man.ac.uk/~horrocks/Teaching/cs2312/Lectures/Handouts/jdbc.pdf>
233 - <https://www.1keydata.com/datawarehousing/data-modeling-levels.html>
234 - <https://en.wikipedia.org/wiki/Unified_Modeling_Language>
235 - <https://creately.com/blog/diagrams/class-diagram-relationships/>
236 - <https://www.ntu.edu.sg/home/ehchua/programming/java/JDBC_Basic.html>
237 - Have the close in a catch as well: <https://en.wikipedia.org/wiki/Java_Database_Connectivity>
238
239 ```{.java}
240 try {
241 conn.close();
242 } catch (Throwable e) { /* Propagate the original exception
243 instead of this one that you want just logged */
244 logger.warn("Could not close JDBC Connection",e);
245 }
246 ```
247
248 cf. also <https://stackoverflow.com/questions/4507440/must-jdbc-resultsets-and-statements-be-closed-separately-although-the-connection> and <https://stackoverflow.com/questions/2225221/closing-database-connections-in-java>
249 - Algo for NF: <http://airccse.org/journal/ijdms/papers/5313ijdms03.pdf>
250 - Security and salting: <https://stackoverflow.com/q/1054022>
251 - Storing password:
252 - PHP <https://stackoverflow.com/q/5882882>
253 - JAVA <https://stackoverflow.com/a/442872>, <https://security.stackexchange.com/q/20294>, <https://security.stackexchange.com/q/19956>, <https://stackoverflow.com/q/8195099>, <https://blog.codinghorror.com/top-25-most-dangerous-programming-mistakes/>, <http://cwe.mitre.org/data/definitions/259.html>
254 - Meaning of BASE: <https://stackoverflow.com/questions/3342497/explanation-of-base-terminology?rq=1>
255 - NoSQL / SQL, <https://blog.panoply.io/sql-or-nosql-that-is-the-question>
256 - ER -> XML, <http://users.dimi.uniud.it/~massimo.franceschet/publications/xsym09.pdf>
257 - XML -> ER, <https://dl.acm.org/citation.cfm?id=1810762>
258 - <http://infolab.stanford.edu/~ullman/dscb.html>
259 - <https://open.umn.edu/opentextbooks/textbooks/database-design-2nd-edition>
260 - <https://www.irif.fr/~amelie/BD.html>
File LICENSE.md changed (mode: 100644) (index 88336d7..9ae2387)
1 ---
2 title: License
3 ---
4
5 <!--
6 Markdown file for the licence courtesy of
7 https://github.com/idleberg/Creative-Commons-Markdown/
8 -->
9
10 ## creative commons
11
12 # Attribution 4.0 International
13
14 Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
15
16 ### Using Creative Commons Public Licenses
17
18 Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
19
20 * __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
21
22 * __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
23
24 ## Creative Commons Attribution 4.0 International Public License
25
26 By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
27
28 ### Section 1 – Definitions.
29
30 a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
31
32 b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
33
34 c. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
35
36 d. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
37
38 e. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
39
40 f. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
41
42 g. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
43
44 h. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License.
45
46 i. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
47
48 j. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
49
50 k. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
51
52 ### Section 2 – Scope.
53
54 a. ___License grant.___
55
56 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
57
58 A. reproduce and Share the Licensed Material, in whole or in part; and
59
60 B. produce, reproduce, and Share Adapted Material.
61
62 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
63
64 3. __Term.__ The term of this Public License is specified in Section 6(a).
65
66 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
67
68 5. __Downstream recipients.__
69
70 A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
71
72 B. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
73
74 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
75
76 b. ___Other rights.___
77
78 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
79
80 2. Patent and trademark rights are not licensed under this Public License.
81
82 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
83
84 ### Section 3 – License Conditions.
85
86 Your exercise of the Licensed Rights is expressly made subject to the following conditions.
87
88 a. ___Attribution.___
89
90 1. If You Share the Licensed Material (including in modified form), You must:
91
92 A. retain the following if it is supplied by the Licensor with the Licensed Material:
93
94 i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
95
96 ii. a copyright notice;
97
98 iii. a notice that refers to this Public License;
99
100 iv. a notice that refers to the disclaimer of warranties;
101
102 v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
103
104 B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
105
106 C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
107
108 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
109
110 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
111
112 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
113
114 ### Section 4 – Sui Generis Database Rights.
115
116 Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
117
118 a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
119
120 b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
121
122 c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
123
124 For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
125
126 ### Section 5 – Disclaimer of Warranties and Limitation of Liability.
127
128 a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__
129
130 b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__
131
132 c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
133
134 ### Section 6 – Term and Termination.
135
136 a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
137
138 b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
139
140 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
141
142 2. upon express reinstatement by the Licensor.
143
144 For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
145
146 c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
147
148 d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
149
150 ### Section 7 – Other Terms and Conditions.
151
152 a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
153
154 b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
155
156 ### Section 8 – Interpretation.
157
158 a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
159
160 b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
161
162 c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
163
164 d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
165
166 > Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
167 >
168 > Creative Commons may be contacted at creativecommons.org
169
1 ---
2 title: License
3 ---
4
5 <!--
6 Markdown file for the licence courtesy of
7 https://github.com/idleberg/Creative-Commons-Markdown/
8 -->
9
10 ## creative commons
11
12 # Attribution 4.0 International
13
14 Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
15
16 ### Using Creative Commons Public Licenses
17
18 Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
19
20 * __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
21
22 * __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
23
24 ## Creative Commons Attribution 4.0 International Public License
25
26 By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
27
28 ### Section 1 – Definitions.
29
30 a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
31
32 b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
33
34 c. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
35
36 d. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
37
38 e. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
39
40 f. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
41
42 g. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
43
44 h. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License.
45
46 i. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
47
48 j. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
49
50 k. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
51
52 ### Section 2 – Scope.
53
54 a. ___License grant.___
55
56 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
57
58 A. reproduce and Share the Licensed Material, in whole or in part; and
59
60 B. produce, reproduce, and Share Adapted Material.
61
62 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
63
64 3. __Term.__ The term of this Public License is specified in Section 6(a).
65
66 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
67
68 5. __Downstream recipients.__
69
70 A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
71
72 B. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
73
74 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
75
76 b. ___Other rights.___
77
78 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
79
80 2. Patent and trademark rights are not licensed under this Public License.
81
82 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
83
84 ### Section 3 – License Conditions.
85
86 Your exercise of the Licensed Rights is expressly made subject to the following conditions.
87
88 a. ___Attribution.___
89
90 1. If You Share the Licensed Material (including in modified form), You must:
91
92 A. retain the following if it is supplied by the Licensor with the Licensed Material:
93
94 i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
95
96 ii. a copyright notice;
97
98 iii. a notice that refers to this Public License;
99
100 iv. a notice that refers to the disclaimer of warranties;
101
102 v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
103
104 B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
105
106 C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
107
108 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
109
110 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
111
112 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
113
114 ### Section 4 – Sui Generis Database Rights.
115
116 Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
117
118 a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
119
120 b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
121
122 c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
123
124 For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
125
126 ### Section 5 – Disclaimer of Warranties and Limitation of Liability.
127
128 a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__
129
130 b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__
131
132 c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
133
134 ### Section 6 – Term and Termination.
135
136 a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
137
138 b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
139
140 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
141
142 2. upon express reinstatement by the Licensor.
143
144 For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
145
146 c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
147
148 d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
149
150 ### Section 7 – Other Terms and Conditions.
151
152 a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
153
154 b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
155
156 ### Section 8 – Interpretation.
157
158 a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
159
160 b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
161
162 c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
163
164 d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
165
166 > Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
167 >
168 > Creative Commons may be contacted at creativecommons.org
169
File README.md changed (mode: 100644) (index 27500c7..f9c5980)
1 ---
2 title: Readme for Lecture Notes for CSCI 3410 -- Database Systems
3 author: Clément Aubert
4 lang: en
5 fontsize: 10pt
6 documentclass: scrartcl
7 numbersections: true
8 papersize: letter
9 geometry: margin=1in
10 ---
11
12 Here are the lecture notes, code, exercises and problems for a lecture on database taught at [Augusta University](https://www.augusta.edu/) by C. Aubert.
13 The webpage for this project is at <http://spots.augusta.edu/caubert/db/ln/>, and it contains a compiled version of the notes.
14
15 ## Getting Started
16
17 The source code, hosted at <https://rocketgit.com/user/caubert/CSCI_3410>, is organized as follows:
18
19 ~~~{.plain}
20 .
21 ├── install/ -- How to install the requirements to compile the document.
22 ├── notes/
23 │   ├── bib/ -- References (including reference to the document).
24 │   ├── code/ -- Source code included in the document.
25 │   ├── fig/ -- Source code for various figures used in the document.
26 │   ├── filters/ -- Pandoc filters.
27 │   ├── img/ -- Various image files integrated in the document.
28 │   ├── latex/ -- Latex configuration file.
29 │   ├── lib/ -- Various libraries
30 │   ├── style/ -- css style used for the web page.
31 │   ├── lectures_notes.md -- The main file for the lecture notes.
32 │   ├── Makefile -- Directives to generate the lecture notes.
33 │   └── temp.md -- Temporary file, for debugging purposes
34 ├── CONTRIB.md -- A guide on how to contribute
35 ├── KNOWN_BUGS.md -- A list of possible bugs, improvments, things to check, ...
36 ├── LICENSE.md -- The licence of those notes.
37 ├── README.md -- The present file
38 └── WORKFLOW.md -- An step-by-step guide on how to edit those notes.
39 ~~~
40
41 Before compiling this document, you will need to install LaTeX, pandoc, and several other programs.
42 Refer to `install/install.md` for instructions on how to compile this document.
43
44 To clone the source, use git and the command
45
46 ~~~{.bash}
47 git clone https://rocketgit.com/user/caubert/CSCI_3410
48 ~~~
49
50 To compile this document, simply change directory to `notes` and run
51
52 - `make fig`, then `make pdf`, to obtain the pdf version,
53 - `make fig_svg`, then `make html` to obtain the html version,
54 - `make fig_svg`, then `make odt` to obtain the odt version.
55
56 The Makefile in the `notes` folder is commented.
57
58 ## Contributing
59
60 The simplest way to contribute is to report typos, errors or misleading statements.
61
62 - You can submit bug reports at <https://rocketgit.com/user/caubert/CSCI_3410/bug> (requires an account).
63 - You can contact or visit me, cf. <http://spots.augusta.edu/caubert/#contact>.
64
65 Refer to [`CONTRIB.md`](CONTRIB.html) for more information.
66
67 ## Authors and Contributors
68
69 - **Clément Aubert** - *Initial work* - <http://spots.augusta.edu/caubert/>
70 - **Crystal Anderson** - *Revisions*
71 - **Bobby Mcmanus**, **Minh Nguyen** and **Poonam Veeral** - *Installation guide and quality control*
72
73 Those notes would not have been without the constant support, curiosity, and remarks from my students.
74 Crystal was supported by an [Affordable Learning Georgia](https://www.affordablelearninggeorgia.org/) "Mini-Grant for Ancillary Materials Creation and Revision" ([Proposal M71](https://www.affordablelearninggeorgia.org/documents/M71_Augusta_Aubert.pdf)).
75 Bobby, Minh and Poonam benefited from the support and guidance of Dr. Onyeka Ezenwoye in the CSCI 4712 - Senior Capstone Project class.
76
77
78 ## License
79
80 This project is licensed under the [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) licence: you are free to share and adapt this document, as long as you give proper credit.
81 Refer to [`LICENSE.md`](LICENSE.html) for the complete licence.
82
83 The files in the `lib` sub-folder comes from:
84
85 - <https://github.com/google/google-java-format/releases>, released under the Apache 2.0 license.
86 - <https://dev.mysql.com/downloads/connector/j/>, released under version 2 of the GNU General Public License (GPLv2).
87
88 and are redistributed as is, in agreement with their respective licences.
1 ---
2 title: Readme for Lecture Notes for CSCI 3410 -- Database Systems
3 author: Clément Aubert
4 lang: en
5 fontsize: 10pt
6 documentclass: scrartcl
7 numbersections: true
8 papersize: letter
9 geometry: margin=1in
10 ---
11
12 Here are the lecture notes, code, exercises and problems for a lecture on database taught at [Augusta University](https://www.augusta.edu/) by C. Aubert.
13 The webpage for this project is at <http://spots.augusta.edu/caubert/db/ln/>, and it contains a compiled version of the notes.
14
15 ## Getting Started
16
17 The source code, hosted at <https://rocketgit.com/user/caubert/CSCI_3410>, is organized as follows:
18
19 ~~~{.plain}
20 .
21 ├── install/ -- How to install the requirements to compile the document.
22 ├── notes/
23 │   ├── bib/ -- References (including reference to the document).
24 │   ├── code/ -- Source code included in the document.
25 │   ├── fig/ -- Source code for various figures used in the document.
26 │   ├── filters/ -- Pandoc filters.
27 │   ├── img/ -- Various image files integrated in the document.
28 │   ├── latex/ -- Latex configuration file.
29 │   ├── lib/ -- Various libraries
30 │   ├── style/ -- css style used for the web page.
31 │   ├── lectures_notes.md -- The main file for the lecture notes.
32 │   ├── Makefile -- Directives to generate the lecture notes.
33 │   └── temp.md -- Temporary file, for debugging purposes
34 ├── CONTRIB.md -- A guide on how to contribute
35 ├── KNOWN_BUGS.md -- A list of possible bugs, improvments, things to check, ...
36 ├── LICENSE.md -- The licence of those notes.
37 ├── README.md -- The present file
38 └── WORKFLOW.md -- An step-by-step guide on how to edit those notes.
39 ~~~
40
41 Before compiling this document, you will need to install LaTeX, pandoc, and several other programs.
42 Refer to `install/install.md` for instructions on how to compile this document.
43
44 To clone the source, use git and the command
45
46 ~~~{.bash}
47 git clone https://rocketgit.com/user/caubert/CSCI_3410
48 ~~~
49
50 To compile this document, simply change directory to `notes` and run
51
52 - `make fig`, then `make pdf`, to obtain the pdf version,
53 - `make fig_svg`, then `make html` to obtain the html version,
54 - `make fig_svg`, then `make odt` to obtain the odt version.
55
56 The Makefile in the `notes` folder is commented.
57
58 ## Contributing
59
60 The simplest way to contribute is to report typos, errors or misleading statements.
61
62 - You can submit bug reports at <https://rocketgit.com/user/caubert/CSCI_3410/bug> (requires an account).
63 - You can contact or visit me, cf. <http://spots.augusta.edu/caubert/#contact>.
64
65 Refer to [`CONTRIB.md`](CONTRIB.html) for more information.
66
67 ## Authors and Contributors
68
69 - **Clément Aubert** - *Initial work* - <http://spots.augusta.edu/caubert/>
70 - **Crystal Anderson** - *Revisions*
71 - **Bobby Mcmanus**, **Minh Nguyen** and **Poonam Veeral** - *Installation guide and quality control*
72
73 Those notes would not have been without the constant support, curiosity, and remarks from my students.
74 Crystal was supported by an [Affordable Learning Georgia](https://www.affordablelearninggeorgia.org/) "Mini-Grant for Ancillary Materials Creation and Revision" ([Proposal M71](https://www.affordablelearninggeorgia.org/documents/M71_Augusta_Aubert.pdf)).
75 Bobby, Minh and Poonam benefited from the support and guidance of Dr. Onyeka Ezenwoye in the CSCI 4712 - Senior Capstone Project class.
76
77
78 ## License
79
80 This project is licensed under the [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) licence: you are free to share and adapt this document, as long as you give proper credit.
81 Refer to [`LICENSE.md`](LICENSE.html) for the complete licence.
82
83 The files in the `lib` sub-folder comes from:
84
85 - <https://github.com/google/google-java-format/releases>, released under the Apache 2.0 license.
86 - <https://dev.mysql.com/downloads/connector/j/>, released under version 2 of the GNU General Public License (GPLv2).
87
88 and are redistributed as is, in agreement with their respective licences.
File TO_DO.md changed (mode: 100644) (index 5888578..c00aa6c)
1 - Fill the line "List all the entity integrity constraint and referential integrity constraint." with the actual constraints.
2
3 - Check that the title of the problems are *not* capitalized.
4
5 - Check that the numbering (and order) of the solution of the exercises and problems match the numbering of the exercises and problems.
6
7 - Look for arguments to help us decide if we should write "S.Q.L.", "U.M.L." and "E.R.", or "SQL", "UML" and "ER".
8
9 - Replace all the abbreviations (don't, won't, can't, etc.) with their "expanded" version (do not, will not, cannot, etc.)?
10
11 - Remove all the occurences of "I".
12
13 - Every time a problem is separated in questions, organize the solutions accordingly. So, do something like
14
15 > Solution to Problem 1.1 (A database catalog for a campus)
16 > Pb 1.1 – Solution to Q. 1
17 > …
18 > Pb 1.1 – Solution to Q. 2
19
20 Ideally, all the problems would be separated in questions.
21
22 - Add "Jump to solution" to every problem?
1 - Fill the line "List all the entity integrity constraint and referential integrity constraint." with the actual constraints.
2
3 - Check that the title of the problems are *not* capitalized.
4
5 - Check that the numbering (and order) of the solution of the exercises and problems match the numbering of the exercises and problems.
6
7 - Look for arguments to help us decide if we should write "S.Q.L.", "U.M.L." and "E.R.", or "SQL", "UML" and "ER".
8
9 - Replace all the abbreviations (don't, won't, can't, etc.) with their "expanded" version (do not, will not, cannot, etc.)?
10
11 - Remove all the occurences of "I".
12
13 - Every time a problem is separated in questions, organize the solutions accordingly. So, do something like
14
15 > Solution to Problem 1.1 (A database catalog for a campus)
16 > Pb 1.1 – Solution to Q. 1
17 > …
18 > Pb 1.1 – Solution to Q. 2
19
20 Ideally, all the problems would be separated in questions.
21
22 - Add "Jump to solution" to every problem?
File WORKFLOW.md changed (mode: 100644) (index 4bc53f7..a49597d)
1 ---
2 title: Workflow cheatsheet
3 ---
4
5 <!-- I'm a comment -->
6
7 # Step by step
8
9 #. Open a command-line interface (or "Terminal") and make the folder containing the notes the current working directory:
10 #. Open a command-line interface, cf. <https://www.wikihow.com/Open-a-Terminal-Window-in-Ubuntu>.
11 #. Change the directory to the right folder, using something like
12
13 ```
14 cd CSCI_3410/
15 ```
16
17 Or, alternatively,
18
19 #. Open the file explorer,
20 #. Navigate to the notes folder,
21 #. Make a right-click, "Open in terminal" (or something similar).
22
23 #. Get the latest version of the notes:
24
25 ```
26 git pull
27 ```
28
29 #. Compile the figures into `pdf` and convert them to `svg`, using
30
31 ```
32 make fig
33 make fig_svg
34 ```
35
36 If you get errors messages on that step, please report them.
37
38 #. Edit the document using whichever software you like.
39
40 #. Test your edit, using
41
42 ```
43 make html
44 make pdf
45 make odt
46 ```
47
48 depending on the version you want to see, or
49
50 ```
51 make all
52 ```
53
54 if you want to compile them all.
55 If you are happy with them, go to the next step, otherwise go to the previous step.
56
57 #. Tell git to save your modifications:
58
59 ```
60 git commit -a -m "My meaningful explanation of what I just did"
61 ```
62
63 #. Have rocketgit "accepts" your IP, by using
64
65 ```
66 ssh rocketgit@ssh.rocketgit.com totp val XXXXXX
67 ```
68
69 where XXXXXX is the code given by the duo application for your rocketgit account.
70
71 #. Push your modification to the server
72
73 ```
74 git push origin master
75 ```
76
77
78
79 To add a file, open a terminal where the file is, and type
80
81 git add <name of the file>
82
83 Then, commit and push.
84
85 Use
86
87 git rm <name of the file>
88
89 to remove it.
90
91 # References
92
93 - [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
94 - [Git tutorial](http://metatheorem.org/CSCI3300/lectures/git.html)
95
96 # Markdown Syntax
97
98 For the Solution, Problem and Exercises, we use a particular syntax, that is rendered using the `<dd>` and `<dt>` tags in `html`, and that furthermore use pandoc-numbering.
99
100 We can either have in-line, or block, environment, using
101
102 Solution +.#
103
104 : Solution on one line.
105 We are still on the same line.
106
107 Not in the solution anymore
108
109 Solution +.#
110 ~
111 Solution on a block.
112 Still in the block.
113
114 Still in the block, on a different paragraph.
115
116 Not in the solution anymore
117
118 The indentation makes all the difference in the block environment.
1 ---
2 title: Workflow cheatsheet
3 ---
4
5 <!-- I'm a comment -->
6
7 # Step by step
8
9 #. Open a command-line interface (or "Terminal") and make the folder containing the notes the current working directory:
10 #. Open a command-line interface, cf. <https://www.wikihow.com/Open-a-Terminal-Window-in-Ubuntu>.
11 #. Change the directory to the right folder, using something like
12
13 ```
14 cd CSCI_3410/
15 ```
16
17 Or, alternatively,
18
19 #. Open the file explorer,
20 #. Navigate to the notes folder,
21 #. Make a right-click, "Open in terminal" (or something similar).
22
23 #. Get the latest version of the notes:
24
25 ```
26 git pull
27 ```
28
29 #. Compile the figures into `pdf` and convert them to `svg`, using
30
31 ```
32 make fig
33 make fig_svg
34 ```
35
36 If you get errors messages on that step, please report them.
37
38 #. Edit the document using whichever software you like.
39
40 #. Test your edit, using
41
42 ```
43 make html
44 make pdf
45 make odt
46 ```
47
48 depending on the version you want to see, or
49
50 ```
51 make all
52 ```
53
54 if you want to compile them all.
55 If you are happy with them, go to the next step, otherwise go to the previous step.
56
57 #. Tell git to save your modifications:
58
59 ```
60 git commit -a -m "My meaningful explanation of what I just did"
61 ```
62
63 #. Have rocketgit "accepts" your IP, by using
64
65 ```
66 ssh rocketgit@ssh.rocketgit.com totp val XXXXXX
67 ```
68
69 where XXXXXX is the code given by the duo application for your rocketgit account.
70
71 #. Push your modification to the server
72
73 ```
74 git push origin master
75 ```
76
77
78
79 To add a file, open a terminal where the file is, and type
80
81 git add <name of the file>
82
83 Then, commit and push.
84
85 Use
86
87 git rm <name of the file>
88
89 to remove it.
90
91 # References
92
93 - [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
94 - [Git tutorial](http://metatheorem.org/CSCI3300/lectures/git.html)
95
96 # Markdown Syntax
97
98 For the Solution, Problem and Exercises, we use a particular syntax, that is rendered using the `<dd>` and `<dt>` tags in `html`, and that furthermore use pandoc-numbering.
99
100 We can either have in-line, or block, environment, using
101
102 Solution +.#
103
104 : Solution on one line.
105 We are still on the same line.
106
107 Not in the solution anymore
108
109 Solution +.#
110 ~
111 Solution on a block.
112 Still in the block.
113
114 Still in the block, on a different paragraph.
115
116 Not in the solution anymore
117
118 The indentation makes all the difference in the block environment.
File notes/bib/bib.bib changed (mode: 100644) (index f5da919..eec5508)
1 @book{Textbook6,
2 Author = {Elmasri, Ramez and Navathe, Shamkant B. },
3 Title = {Fundamentals of Database Systems (6th Edition)},
4 Publisher = {Pearson},
5 Year = {2010},
6 ISBN = {0136086209}
7 }
8
9 @book{Textbook7,
10 Author = {Elmasri, Ramez and Navathe, Shamkant B. },
11 Title = {Fundamentals of Database Systems (7th Edition)},
12 Publisher = {Pearson},
13 Year = {2015},
14 ISBN = {0133970779}
15 }
16
17 @book{Watt2014,
18 author = {Watt, Adrienne and Eng, Nelson},
19 title = {Database Design (2nd Edition)},
20 Publisher = {Victoria, B.C.: BCcampus},
21 year = 2014,
22 url={https://opentextbc.ca/dbdesign01/}
23 }
24
25
26 @book{NoSQLDistilled,
27 Author = {Pramod J. Sadalage and Martin Fowler},
28 Title = {NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence},
29 Publisher = {Addison-Wesley Professional},
30 Year = {2012},
31 ISBN = {0321826620}
32 }
33
34 @book{Sullivan2015,
35 Author = {Sullivan, Dan},
36 Title = {NoSQL for Mere Mortals},
37 Publisher = {Addison-Wesley Professional},
38 Year = {2015},
39 ISBN = {0134023218},
40 }
41
42 @article{Andrew2016,
43 author = {Pavlo, Andrew and Aslett, Matthew},
44 title = {What's Really New with NewSQL?},
45 journal = {{SIGMOD} Record},
46 volume = {45},
47 number = {2},
48 pages = {45--55},
49 year = {2016},
50 doi = {10.1145/3003665.3003674}
51 }
52
53 @book{Gaddis2014,
54 Author = {Gaddis, Tony },
55 Title = {Starting Out with Java: Early Objects (5th Edition)},
56 Publisher = {Pearson},
57 Year = {2014},
58 ISBN = {0133776743}
59 }
60
61 @inproceedings{DBLP:conf/osdi/ChangDGHWBCFG06,
62 author = {Fay Chang and
63 Jeffrey Dean and
64 Sanjay Ghemawat and
65 Wilson C. Hsieh and
66 Deborah A. Wallach and
67 Michael Burrows and
68 Tushar Chandra and
69 Andrew Fikes and
70 Robert Gruber},
71 title = {Bigtable: {A} Distributed Storage System for Structured Data (Awarded
72 Best Paper!)},
73 booktitle = {7th Symposium on Operating Systems Design and Implementation {(OSDI}
74 '06), November 6-8, Seattle, WA, {USA}},
75 pages = {205--218},
76 year = {2006},
77 crossref = {DBLP:conf/osdi/2006},
78 url = {http://www.usenix.org/events/osdi06/tech/chang.html}
79 }
80
81 @proceedings{DBLP:conf/osdi/2006,
82 editor = {Brian N. Bershad and
83 Jeffrey C. Mogul},
84 title = {7th Symposium on Operating Systems Design and Implementation {(OSDI}
85 '06), November 6-8, Seattle, WA, {USA}},
86 publisher = {{USENIX} Association},
87 year = {2006},
88 url = {https://www.usenix.org/publications/proceedings/?f[0]=im_group_audience%3A137},
89 isbn = {1-931971-47-1}
90 }
91
92 @inproceedings{Lakshman2009,
93 author={Lakshman, Avinash and Malik, Prashant},
94 url={https://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf},
95 title={Cassandra - A Decentralized Structured Storage System},
96 crossref={Ladis2009},
97 booktitle={LADIS 2009},
98 }
99
100 @proceedings{Ladis2009,
101 url={https://www.cs.cornell.edu/projects/ladis2009/},
102 title={The 3rd ACM SIGOPS International Workshop on Large Scale Distributed Systems and Middleware},
103 month={October},
104 year={2009}
105 }
106
107 @book{knuth1989mathematical,
108 title={Mathematical Writing},
109 author={Knuth, Donald E. and Larrabee, Tracy and Roberts, Paul M.},
110 isbn={9780883850633},
111 series={MAA notes},
112 year={1989},
113 publisher={Mathematical Association of America}
114 }
115
116 @book{FactsOnFile,
117 Author = {Manser, Martin H.},
118 title={The Facts on File Dictionary of Proverbs},
119 Publisher = {Facts on File},
120 Year = {2007},
121 ISBN = {0816066736},
122 }
1 @book{Textbook6,
2 Author = {Elmasri, Ramez and Navathe, Shamkant B. },
3 Title = {Fundamentals of Database Systems (6th Edition)},
4 Publisher = {Pearson},
5 Year = {2010},
6 ISBN = {0136086209}
7 }
8
9 @book{Textbook7,
10 Author = {Elmasri, Ramez and Navathe, Shamkant B. },
11 Title = {Fundamentals of Database Systems (7th Edition)},
12 Publisher = {Pearson},
13 Year = {2015},
14 ISBN = {0133970779}
15 }
16
17 @book{Watt2014,
18 author = {Watt, Adrienne and Eng, Nelson},
19 title = {Database Design (2nd Edition)},
20 Publisher = {Victoria, B.C.: BCcampus},
21 year = 2014,
22 url={https://opentextbc.ca/dbdesign01/}
23 }
24
25
26 @book{NoSQLDistilled,
27 Author = {Pramod J. Sadalage and Martin Fowler},
28 Title = {NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence},
29 Publisher = {Addison-Wesley Professional},
30 Year = {2012},
31 ISBN = {0321826620}
32 }
33
34 @book{Sullivan2015,
35 Author = {Sullivan, Dan},
36 Title = {NoSQL for Mere Mortals},
37 Publisher = {Addison-Wesley Professional},
38 Year = {2015},
39 ISBN = {0134023218},
40 }
41
42 @article{Andrew2016,
43 author = {Pavlo, Andrew and Aslett, Matthew},
44 title = {What's Really New with NewSQL?},
45 journal = {{SIGMOD} Record},
46 volume = {45},
47 number = {2},
48 pages = {45--55},
49 year = {2016},
50 doi = {10.1145/3003665.3003674}
51 }
52
53 @book{Gaddis2014,
54 Author = {Gaddis, Tony },
55 Title = {Starting Out with Java: Early Objects (5th Edition)},
56 Publisher = {Pearson},
57 Year = {2014},
58 ISBN = {0133776743}
59 }
60
61 @inproceedings{DBLP:conf/osdi/ChangDGHWBCFG06,
62 author = {Fay Chang and
63 Jeffrey Dean and
64 Sanjay Ghemawat and
65 Wilson C. Hsieh and
66 Deborah A. Wallach and
67 Michael Burrows and
68 Tushar Chandra and
69 Andrew Fikes and
70 Robert Gruber},
71 title = {Bigtable: {A} Distributed Storage System for Structured Data (Awarded
72 Best Paper!)},
73 booktitle = {7th Symposium on Operating Systems Design and Implementation {(OSDI}
74 '06), November 6-8, Seattle, WA, {USA}},
75 pages = {205--218},
76 year = {2006},
77 crossref = {DBLP:conf/osdi/2006},
78 url = {http://www.usenix.org/events/osdi06/tech/chang.html}
79 }
80
81 @proceedings{DBLP:conf/osdi/2006,
82 editor = {Brian N. Bershad and
83 Jeffrey C. Mogul},
84 title = {7th Symposium on Operating Systems Design and Implementation {(OSDI}
85 '06), November 6-8, Seattle, WA, {USA}},
86 publisher = {{USENIX} Association},
87 year = {2006},
88 url = {https://www.usenix.org/publications/proceedings/?f[0]=im_group_audience%3A137},
89 isbn = {1-931971-47-1}
90 }
91
92 @inproceedings{Lakshman2009,
93 author={Lakshman, Avinash and Malik, Prashant},
94 url={https://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf},
95 title={Cassandra - A Decentralized Structured Storage System},
96 crossref={Ladis2009},
97 booktitle={LADIS 2009},
98 }
99
100 @proceedings{Ladis2009,
101 url={https://www.cs.cornell.edu/projects/ladis2009/},
102 title={The 3rd ACM SIGOPS International Workshop on Large Scale Distributed Systems and Middleware},
103 month={October},
104 year={2009}
105 }
106
107 @book{knuth1989mathematical,
108 title={Mathematical Writing},
109 author={Knuth, Donald E. and Larrabee, Tracy and Roberts, Paul M.},
110 isbn={9780883850633},
111 series={MAA notes},
112 year={1989},
113 publisher={Mathematical Association of America}
114 }
115
116 @book{FactsOnFile,
117 Author = {Manser, Martin H.},
118 title={The Facts on File Dictionary of Proverbs},
119 Publisher = {Facts on File},
120 Year = {2007},
121 ISBN = {0816066736},
122 }
File notes/bib/entry.bib changed (mode: 100644) (index 44bbdf8..05badf0)
1 @report{AubertCSCI3410-DatabaseSystems,
2 author={Aubert, Clément},
3 title={CSCI 3410 - Database Systems},
4 url={http://spots.augusta.edu/caubert/db/ln/},
5 urldate={2019-11-03},
6 year={2019},
7 institution={{School of Computer and Cyber Sciences, Augusta University}},
8 location={Augusta, Georgia, USA},
9 langid={en},
10 type={Lecture notes}
1 @report{AubertCSCI3410-DatabaseSystems,
2 author={Aubert, Clément},
3 title={CSCI 3410 - Database Systems},
4 url={http://spots.augusta.edu/caubert/db/ln/},
5 urldate={2019-11-03},
6 year={2019},
7 institution={{School of Computer and Cyber Sciences, Augusta University}},
8 location={Augusta, Georgia, USA},
9 langid={en},
10 type={Lecture notes}
11 11 } }
File notes/bib/test_entry.tex changed (mode: 100644) (index 95032c9..53a3b2a)
1 \documentclass{article}
2 \usepackage[backend=bibtex8]{biblatex}
3 \bibliography{entry}
4
5 \begin{document}
6 \nocite{*}
7 \printbibliography
1 \documentclass{article}
2 \usepackage[backend=bibtex8]{biblatex}
3 \bibliography{entry}
4
5 \begin{document}
6 \nocite{*}
7 \printbibliography
8 8 \end{document} \end{document}
The diff for file notes/lectures_notes.md is too big (17352 changes) and cannot be shown.
File notes/style/style.css changed (mode: 100644) (index c123392..1f67d59)
1 html {
2 font-family: Futura, "Trebuchet MS", Arial, sans-serif;
3 text-shadow: 1px 1px 1px #f7f7f7;
4 color: #000;
5 background: #F0F0F0;
6 background-image: url('data:image/png;base64,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');
7 }
8
9 li p{
10 text-indent: 0em;
11 display: inline;
12 }
13 header h2:before, header h3:before {
14 content: ""
15 }
16 header h2, header h3, header .subtitle, header .author{
17 display: inline;
18 font-size: 100%
19 }
20 a,
21 div,
22 label,
23 p,
24 img,
25 span,
26 section,
27 h2,
28 h3,
29 li,
30 pre {
31 box-sizing: border-box;
32 border-radius: 5px;
33 word-wrap: break-word;
34 }
35 .sourceCode{
36 text-indent: 0
37 }
38 .sourceCode:after {
39 content: attr(data-caption);
40 font-weight:bold;
41 }
42 a.sourceLine::before{
43 text-decoration: none;
44 }
45 kbd{ /* https://meta.superuser.com/q/4788 */
46 background-color:#f7f7f7;
47 border:1px solid #ccc;
48 border-radius:3px;
49 box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;
50 color:#333;
51 display:inline-block;
52 font-family:Arial,Helvetica,sans-serif;
53 font-size:11px;
54 line-height:1.4;
55 margin:0 .1em;
56 padding:.1em .6em;
57 text-shadow:0 1px 0 #fff;
58 }
59 section {
60 display: block;
61 }
62 strong {
63 font-weight: 700;
64 }
65 em {
66 font-style: italic;
67 }
68 sub,
69 sup {
70 font-size: 75%;
71 line-height: 0;
72 position: relative;
73 vertical-align: baseline;
74 }
75 sup {
76 top: -0.5em;
77 }
78 sub {
79 bottom: -0.25em;
80 }
81 .smallcaps {
82 font-variant: small-caps;
83 }
84 p {
85 text-indent: 2em;
86 }
87 img {
88 display: inline;
89 border: 0;
90 }
91 ul {
92 list-style: none;
93 }
94 ul li:before {
95 content: "\2014\00a0";
96 }
97 abbr[title] {
98 border-bottom: 1px dotted;
99 border-radius: 0;
100 }
101 abbr:hover {
102 cursor: help;
103 }
104 a:focus {
105 outline: thin dotted;
106 }
107 a:focus,
108 a:hover {
109 outline: 0;
110 }
111 a,
112 label {
113 text-decoration: none;
114 background: transparent;
115 color: #2e4683;
116 }
117 a:hover, a:target{
118 background: linear-gradient(#cdcdcd, #bcbcbc);
119 }
120 td:empty:after {
121 content: '\274C';
122 }
123 h1, .title {
124 font-size: 200%;
125 margin: 0.9em;
126 margin-bottom: 0;
127 text-align: center;
128 }
129 h2, .subtitle {
130 font-size: 150%;
131 text-indent: 0.83em;
132 font-weight: 700;
133 }
134 h3 {
135 font-size: 112%;
136 text-indent: 2em;
137 }
138 h1,
139 h2,
140 h3,
141 .subtitle{
142 display: block;
143 padding: 10px;
144 }
145 h1,
146 h2,
147 h3,
148 h4,
149 h5,
150 .subtitle{
151 color: #000;
152 text-shadow: 1px 1px 1px #fff;
153 }
154 table {
155 margin: 0 10%;
156 width: 80%;
157 border-collapse: collapse;
158 border-spacing: 0;
159 }
160 td {
161 border-bottom: 1px solid #000;
162 border-left: none;
163 border-right: none;
164 border-top: none;
165 padding: 10px;
166 border-radius: 0;
167 }
168 td ul {
169 margin: 0;
170 padding: 0;
171 }
172 tr:nth-child(even) {
173 background: #D3D3D3;
174 }
175 tr:nth-child(odd) {
176 background: #eee;
177 }
178 thead {
179 background: #fff;
180 }
181 a[href^=http]:not([href*="http://spots.augusta.edu/caubert/"]):not([href*="https://aubert.perso.math.cnrs.fr"]):after {
182 content: "\2197";
183 }
184 /* Les liens commençant par http ↗ */
185 a[href$=".pdf"]:after {
186 content: " (pdf)";
187 }
188 a[href$=".odt"]:after {
189 content: " (odt)";
190 }
191 a[href$=".docx"]:after {
192 content: " (docx)";
193 }
194 a[href$=".tex"]:after {
195 content: " (tex)";
196 }
197 a[href$=".zip"]:after {
198 content: " (zip)";
199 }
200 a[href$=".c"]:after {
201 content: " (C)";
202 }
203 a[href$=".java"]:after {
204 content: " (java)";
205 }
206 a[href$=".txt"]:after {
207 content: " (txt)";
208 }
209 a[href$=".sql"]:after {
210 content: " (sql)";
211 }
212 a[href$=".md"]:after {
213 content: " (md)";
214 }
215 nav{
216 top: 6em;
217 left:3em;
218 position: fixed;
219 display: block;
220 }
221 nav ul {
222 padding: 0;
223 margin: 0;
224 }
225 nav li a {
226 display: block;
227 padding: 8px;
228 font-size: larger;
229 text-align: left;
230 }
231 nav li:before {
232 content: "";
233 }
234 nav a:hover,
235 nav a:focus {
236 padding: 8px 0 8px 1em;
237 }
238 nav a:before {
239 content: "\2192\00a0";
240 /* On mets une fleche → devant les liens du menu.*/
241 }
242
243 footer, #miscellaneous{
244 position: inherit;
245 color: #707070;
246 text-align: right;
247 font-size: smaller;
248 margin : 3em;
249 }
250 footer:before, #miscellaneous:before {
251 content: "\2766";
252 font-size: 400%;
253 text-align: center;
254 display: block;
255 }
256 footer h1, #miscellaneous h1, footer h2, #miscellaneous h2{
257 display:none
258 }
259 .date{
260 position: absolute;
261 top: 2em;
262 right: 2em
263 }
264 .date:before{
265 content:"(Last modification: ";
266 }
267 .date:after{
268 content:")";
269 }
270 hr {
271 border: 0;
272 margin: 0 0 6em;
273 clear: both;
274 /* Aldines ! ☙☙❧❧ */
275 }
276 hr:before {
277 display: block;
278 text-align: center;
279 font-size: 250%;
280 content: "\2619 \2619 \2767 \2767";
281 }
282 /* Aldines ! ❦ */
283 h1,
284 h2,
285 h3,
286 hr,
287 blockquote,
288 .subtitle{
289 font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
290 }
291 h2:before {
292 content: "\261B \00a0";
293 }
294 h3:before {
295 content: "\261E \00a0";
296 }
297 pre {
298 background-color: #fff;
299 color: #000;
300 padding: 1.3em;
301 text-shadow: 1px 1px 1px #e7e7e7;
302 white-space: pre-wrap;
303 border: 1px solid #707070;
304 }
305 pre > code.sourceCode > span > a:first-child::before {
306 text-decoration: none;
307 }
308 .contact li {
309 text-indent: -1em;
310 padding-left: 1em;
311 }
312
313 .contact li:before {
314 background-size: 1em;
315 background-repeat: no-repeat;
316 content: "";
317 display: inline-block;
318 width: 1em;
319 height: 1em;
320 padding: .1em;
321 }
322
323 .download{
324 box-shadow: 3px 3px 2px 2px #ccccc0;
325 border-radius: 8px;
326 border: 1px solid #b6b6a3;
327 text-decoration: none;
328 word-wrap: break-word;
329 display: inline-block;
330 margin: 1em;
331 padding: .5em;
332 position: relative;
333 background-color:white;
334 }
335
336 @media all and (max-width: 1024px), all and (max-height: 520px), handheld {
337 nav {
338 display: inline;
339 position: static;
340 }
341 body {
342 padding: 3% 10%;
343 }
344 h1 {
345 margin: 0;
346 }
347 a,
348 label {
349 padding: 4px;
350 }
351 #official_pic{
352 display:block;
353 margin: auto;
354 }
355 }
356
357 @media all and (min-width: 1024px) and (min-height: 520px) {
358 body {
359 margin: 2em auto;
360 max-width: 45vw;
361 padding:2em;
362 }
363 nav li a {
364 transition: padding 0.3s ease;
365 }
366 #official_pic{
367 float:right;
368 }
369 }
370
371 @media print {
372 body {
373 background : white;
374 width : auto;
375 padding : 0;
376 border : 0;
377 color : black;
378 border-radius : 0;
379 box-shadow : none;
380 word-spacing : 1px;
381 letter-spacing : 0.2px;
382 font : 12px/1.4em Arial, Helvetica, "Lucida Grande", serif;
383 float: none;
384 margin: 25mm;
385 }
386 nav, footer{
387 display : none;
388 }
389 a {
390 color : black;
391 text-decoration : none;
392 background : transparent;
393 font-weight : bold;
394 }
395 a[href^="#"], a[href^="hw"] {
396 font-weight : normal;
397 }
398 a[href^=http]:not([href*="http://spots.augusta.edu/caubert/"]):not([href*="https://aubert.perso.math.cnrs.fr"]):after {
399 content : " (" attr(href) ") ";
400 font-size : 90%;
401 font-weight : normal;
402 }
403 a[href^="#"]:after, a[href^="mailto:"]:after, a[href^="hw"]:after, #google-scholar:after, #dissemin:after, #dblp:after, #orcid:after {
404 background-size: 0px;
405 width: auto;
406 height: auto;
407 margin:0;
408 content : " (" attr(href) ") ";
409 }
410 abbr{
411 text-decoration:none
412 }
413 abbr:after {
414 content : " (" attr(title) ") ";
415 }
416 hr {
417 display : none;
418 }
419 tr, td {
420 background : none transparent;
421 padding: 0px;
422 }
423 h1 {
424 font-size : 120%;
425 }
426 h2 {
427 font-size : 110%;
428 }
429 section {
430 padding : 0 0.1em;
431 }
432 table {
433 width : 100%;
434 }
435 p,
436 h1,
437 h2,
438 h3,
439 ul,
440 ol {
441 color: #000;
442 margin: auto;
443 }
444 p {
445 orphans: 3;
446 widows: 3;
447 }
448 h1,
449 h2,
450 h3,
451 caption {
452 page-break-after: avoid;
453 font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
454 }
455 }
456
457
458 /* Testing purpose.*/
459
460 /*
461 dl, dt, dd{
462 border: 1px solid black;
463 }
464 */
465
466
467 /*
468 * Borrowed from
469 * https://gist.github.com/killercup/5917178
470 */
471
472
473
474
475 *::-moz-selection {
476 background: rgba(255, 255, 0, 0.3);
477 color: #000;
478 }
479
480 *::selection {
481 background: rgba(255, 255, 0, 0.3);
482 color: #000;
483 }
484
485 a::-moz-selection {
486 background: rgba(255, 255, 0, 0.3);
487 color: #0645ad;
488 }
489
490 a::selection {
491 background: rgba(255, 255, 0, 0.3);
492 color: #0645ad;
493 }
494
495
496 img {
497 max-width: 100%;
498 }
499
500 blockquote {
501 color: #666666;
502 margin: 0;
503 padding-left: 3em;
504 border-left: 0.5em #EEE solid;
505 }
506
507 figure {
508 display: block;
509 text-align: center;
510 margin: 1em 0;
511 }
512
513 figure img {
514 border: none;
515 margin: 0 auto;
516 }
517
518 figcaption {
519 font-size: 0.8em;
520 font-style: italic;
521 margin: 0 0 .8em;
522 }
523
524 table {
525 margin-bottom: 2em;
526 border-bottom: 1px solid #ddd;
527 border-right: 1px solid #ddd;
528 border-spacing: 0;
529 border-collapse: collapse;
530 }
531
532 table th {
533 padding: .2em 1em;
534 background-color: #eee;
535 border-top: 1px solid #ddd;
536 border-left: 1px solid #ddd;
537 }
538
539 table td {
540 padding: .2em 1em;
541 border-top: 1px solid #ddd;
542 border-left: 1px solid #ddd;
543 vertical-align: top;
544 }
1 html {
2 font-family: Futura, "Trebuchet MS", Arial, sans-serif;
3 text-shadow: 1px 1px 1px #f7f7f7;
4 color: #000;
5 background: #F0F0F0;
6 background-image: url('data:image/png;base64,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');
7 }
8
9 li p{
10 text-indent: 0em;
11 display: inline;
12 }
13 header h2:before, header h3:before {
14 content: ""
15 }
16 header h2, header h3, header .subtitle, header .author{
17 display: inline;
18 font-size: 100%
19 }
20 a,
21 div,
22 label,
23 p,
24 img,
25 span,
26 section,
27 h2,
28 h3,
29 li,
30 pre {
31 box-sizing: border-box;
32 border-radius: 5px;
33 word-wrap: break-word;
34 }
35 .sourceCode{
36 text-indent: 0
37 }
38 .sourceCode:after {
39 content: attr(data-caption);
40 font-weight:bold;
41 }
42 a.sourceLine::before{
43 text-decoration: none;
44 }
45 kbd{ /* https://meta.superuser.com/q/4788 */
46 background-color:#f7f7f7;
47 border:1px solid #ccc;
48 border-radius:3px;
49 box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;
50 color:#333;
51 display:inline-block;
52 font-family:Arial,Helvetica,sans-serif;
53 font-size:11px;
54 line-height:1.4;
55 margin:0 .1em;
56 padding:.1em .6em;
57 text-shadow:0 1px 0 #fff;
58 }
59 section {
60 display: block;
61 }
62 strong {
63 font-weight: 700;
64 }
65 em {
66 font-style: italic;
67 }
68 sub,
69 sup {
70 font-size: 75%;
71 line-height: 0;
72 position: relative;
73 vertical-align: baseline;
74 }
75 sup {
76 top: -0.5em;
77 }
78 sub {
79 bottom: -0.25em;
80 }
81 .smallcaps {
82 font-variant: small-caps;
83 }
84 p {
85 text-indent: 2em;
86 }
87 img {
88 display: inline;
89 border: 0;
90 }
91 ul {
92 list-style: none;
93 }
94 ul li:before {
95 content: "\2014\00a0";
96 }
97 abbr[title] {
98 border-bottom: 1px dotted;
99 border-radius: 0;
100 }
101 abbr:hover {
102 cursor: help;
103 }
104 a:focus {
105 outline: thin dotted;
106 }
107 a:focus,
108 a:hover {
109 outline: 0;
110 }
111 a,
112 label {
113 text-decoration: none;
114 background: transparent;
115 color: #2e4683;
116 }
117 a:hover, a:target{
118 background: linear-gradient(#cdcdcd, #bcbcbc);
119 }
120 td:empty:after {
121 content: '\274C';
122 }
123 h1, .title {
124 font-size: 200%;
125 margin: 0.9em;
126 margin-bottom: 0;
127 text-align: center;
128 }
129 h2, .subtitle {
130 font-size: 150%;
131 text-indent: 0.83em;
132 font-weight: 700;
133 }
134 h3 {
135 font-size: 112%;
136 text-indent: 2em;
137 }
138 h1,
139 h2,
140 h3,
141 .subtitle{
142 display: block;
143 padding: 10px;
144 }
145 h1,
146 h2,
147 h3,
148 h4,
149 h5,
150 .subtitle{
151 color: #000;
152 text-shadow: 1px 1px 1px #fff;
153 }
154 table {
155 margin: 0 10%;
156 width: 80%;
157 border-collapse: collapse;
158 border-spacing: 0;
159 }
160 td {
161 border-bottom: 1px solid #000;
162 border-left: none;
163 border-right: none;
164 border-top: none;
165 padding: 10px;
166 border-radius: 0;
167 }
168 td ul {
169 margin: 0;
170 padding: 0;
171 }
172 tr:nth-child(even) {
173 background: #D3D3D3;
174 }
175 tr:nth-child(odd) {
176 background: #eee;
177 }
178 thead {
179 background: #fff;
180 }
181 a[href^=http]:not([href*="http://spots.augusta.edu/caubert/"]):not([href*="https://aubert.perso.math.cnrs.fr"]):after {
182 content: "\2197";
183 }
184 /* Les liens commençant par http ↗ */
185 a[href$=".pdf"]:after {
186 content: " (pdf)";
187 }
188 a[href$=".odt"]:after {
189 content: " (odt)";
190 }
191 a[href$=".docx"]:after {
192 content: " (docx)";
193 }
194 a[href$=".tex"]:after {
195 content: " (tex)";
196 }
197 a[href$=".zip"]:after {
198 content: " (zip)";
199 }
200 a[href$=".c"]:after {
201 content: " (C)";
202 }
203 a[href$=".java"]:after {
204 content: " (java)";
205 }
206 a[href$=".txt"]:after {
207 content: " (txt)";
208 }
209 a[href$=".sql"]:after {
210 content: " (sql)";
211 }
212 a[href$=".md"]:after {
213 content: " (md)";
214 }
215 nav{
216 top: 6em;
217 left:3em;
218 position: fixed;
219 display: block;
220 }
221 nav ul {
222 padding: 0;
223 margin: 0;
224 }
225 nav li a {
226 display: block;
227 padding: 8px;
228 font-size: larger;
229 text-align: left;
230 }
231 nav li:before {
232 content: "";
233 }
234 nav a:hover,
235 nav a:focus {
236 padding: 8px 0 8px 1em;
237 }
238 nav a:before {
239 content: "\2192\00a0";
240 /* On mets une fleche → devant les liens du menu.*/
241 }
242
243 footer, #miscellaneous{
244 position: inherit;
245 color: #707070;
246 text-align: right;
247 font-size: smaller;
248 margin : 3em;
249 }
250 footer:before, #miscellaneous:before {
251 content: "\2766";
252 font-size: 400%;
253 text-align: center;
254 display: block;
255 }
256 footer h1, #miscellaneous h1, footer h2, #miscellaneous h2{
257 display:none
258 }
259 .date{
260 position: absolute;
261 top: 2em;
262 right: 2em
263 }
264 .date:before{
265 content:"(Last modification: ";
266 }
267 .date:after{
268 content:")";
269 }
270 hr {
271 border: 0;
272 margin: 0 0 6em;
273 clear: both;
274 /* Aldines ! ☙☙❧❧ */
275 }
276 hr:before {
277 display: block;
278 text-align: center;
279 font-size: 250%;
280 content: "\2619 \2619 \2767 \2767";
281 }
282 /* Aldines ! ❦ */
283 h1,
284 h2,
285 h3,
286 hr,
287 blockquote,
288 .subtitle{
289 font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
290 }
291 h2:before {
292 content: "\261B \00a0";
293 }
294 h3:before {
295 content: "\261E \00a0";
296 }
297 pre {
298 background-color: #fff;
299 color: #000;
300 padding: 1.3em;
301 text-shadow: 1px 1px 1px #e7e7e7;
302 white-space: pre-wrap;
303 border: 1px solid #707070;
304 }
305 pre > code.sourceCode > span > a:first-child::before {
306 text-decoration: none;
307 }
308 .contact li {
309 text-indent: -1em;
310 padding-left: 1em;
311 }
312
313 .contact li:before {
314 background-size: 1em;
315 background-repeat: no-repeat;
316 content: "";
317 display: inline-block;
318 width: 1em;
319 height: 1em;
320 padding: .1em;
321 }
322
323 .download{
324 box-shadow: 3px 3px 2px 2px #ccccc0;
325 border-radius: 8px;
326 border: 1px solid #b6b6a3;
327 text-decoration: none;
328 word-wrap: break-word;
329 display: inline-block;
330 margin: 1em;
331 padding: .5em;
332 position: relative;
333 background-color:white;
334 }
335
336 @media all and (max-width: 1024px), all and (max-height: 520px), handheld {
337 nav {
338 display: inline;
339 position: static;
340 }
341 body {
342 padding: 3% 10%;
343 }
344 h1 {
345 margin: 0;
346 }
347 a,
348 label {
349 padding: 4px;
350 }
351 #official_pic{
352 display:block;
353 margin: auto;
354 }
355 }
356
357 @media all and (min-width: 1024px) and (min-height: 520px) {
358 body {
359 margin: 2em auto;
360 max-width: 45vw;
361 padding:2em;
362 }
363 nav li a {
364 transition: padding 0.3s ease;
365 }
366 #official_pic{
367 float:right;
368 }
369 }
370
371 @media print {
372 body {
373 background : white;
374 width : auto;
375 padding : 0;
376 border : 0;
377 color : black;
378 border-radius : 0;
379 box-shadow : none;
380 word-spacing : 1px;
381 letter-spacing : 0.2px;
382 font : 12px/1.4em Arial, Helvetica, "Lucida Grande", serif;
383 float: none;
384 margin: 25mm;
385 }
386 nav, footer{
387 display : none;
388 }
389 a {
390 color : black;
391 text-decoration : none;
392 background : transparent;
393 font-weight : bold;
394 }
395 a[href^="#"], a[href^="hw"] {
396 font-weight : normal;
397 }
398 a[href^=http]:not([href*="http://spots.augusta.edu/caubert/"]):not([href*="https://aubert.perso.math.cnrs.fr"]):after {
399 content : " (" attr(href) ") ";
400 font-size : 90%;
401 font-weight : normal;
402 }
403 a[href^="#"]:after, a[href^="mailto:"]:after, a[href^="hw"]:after, #google-scholar:after, #dissemin:after, #dblp:after, #orcid:after {
404 background-size: 0px;
405 width: auto;
406 height: auto;
407 margin:0;
408 content : " (" attr(href) ") ";
409 }
410 abbr{
411 text-decoration:none
412 }
413 abbr:after {
414 content : " (" attr(title) ") ";
415 }
416 hr {
417 display : none;
418 }
419 tr, td {
420 background : none transparent;
421 padding: 0px;
422 }
423 h1 {
424 font-size : 120%;
425 }
426 h2 {
427 font-size : 110%;
428 }
429 section {
430 padding : 0 0.1em;
431 }
432 table {
433 width : 100%;
434 }
435 p,
436 h1,
437 h2,
438 h3,
439 ul,
440 ol {
441 color: #000;
442 margin: auto;
443 }
444 p {
445 orphans: 3;
446 widows: 3;
447 }
448 h1,
449 h2,
450 h3,
451 caption {
452 page-break-after: avoid;
453 font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
454 }
455 }
456
457
458 /* Testing purpose.*/
459
460 /*
461 dl, dt, dd{
462 border: 1px solid black;
463 }
464 */
465
466
467 /*
468 * Borrowed from
469 * https://gist.github.com/killercup/5917178
470 */
471
472
473
474
475 *::-moz-selection {
476 background: rgba(255, 255, 0, 0.3);
477 color: #000;
478 }
479
480 *::selection {
481 background: rgba(255, 255, 0, 0.3);
482 color: #000;
483 }
484
485 a::-moz-selection {
486 background: rgba(255, 255, 0, 0.3);
487 color: #0645ad;
488 }
489
490 a::selection {
491 background: rgba(255, 255, 0, 0.3);
492 color: #0645ad;
493 }
494
495
496 img {
497 max-width: 100%;
498 }
499
500 blockquote {
501 color: #666666;
502 margin: 0;
503 padding-left: 3em;
504 border-left: 0.5em #EEE solid;
505 }
506
507 figure {
508 display: block;
509 text-align: center;
510 margin: 1em 0;
511 }
512
513 figure img {
514 border: none;
515 margin: 0 auto;
516 }
517
518 figcaption {
519 font-size: 0.8em;
520 font-style: italic;
521 margin: 0 0 .8em;
522 }
523
524 table {
525 margin-bottom: 2em;
526 border-bottom: 1px solid #ddd;
527 border-right: 1px solid #ddd;
528 border-spacing: 0;
529 border-collapse: collapse;
530 }
531
532 table th {
533 padding: .2em 1em;
534 background-color: #eee;
535 border-top: 1px solid #ddd;
536 border-left: 1px solid #ddd;
537 }
538
539 table td {
540 padding: .2em 1em;
541 border-top: 1px solid #ddd;
542 border-left: 1px solid #ddd;
543 vertical-align: top;
544 }
File notes/temp.md changed (mode: 100644) (index dbde796..041caa5)
1 ---
2 documentclass: scrreprt
3 title: CSCI 3410 - Database Systems
4 subtitle: Lecture Notes (Draft)
5 author: Clément Aubert
6 institute: Augusta University
7 papersize: letter
8 geometry: "vmargin=2cm"
9 bibliography: [ bib/bib.bib, bib/entry.bib ]
10 link-citations: true
11 lang: en
12 numbersections: true
13 mainfont: Linux Libertine O
14 keywords:
15 - Computer Science
16 - Database
17 - SQL
18 - Database Design
19 - Database Application
20 - NoSQL
21 header-includes:
22 - \usepackage{latex/packages}
23 pandoc-numbering:
24 problem:
25 general:
26 listing-title: List of Problems
27 standard:
28 format-caption-classic: '%D %n'
29 latex:
30 format-link-title: '%D %n (%T), p. %p'
31 ---
32
33
34 Exercise +.#
35 ~
36
37 For each of the following notion, indicate if they are usually an attribute of NoSQL or of "traditional" `SQL`:
38
39 |||||
40 |-------:|:-------------:|---|---|---|
41 ~ | Schema First | Distributed | Relational | Scalable | Immediate Consistency
42 NoSQL |   |   |   |   |
43 `SQL` |   |   |   |   |
44
45 <!-- Bug with table -->
1 ---
2 documentclass: scrreprt
3 title: CSCI 3410 - Database Systems
4 subtitle: Lecture Notes (Draft)
5 author: Clément Aubert
6 institute: Augusta University
7 papersize: letter
8 geometry: "vmargin=2cm"
9 bibliography: [ bib/bib.bib, bib/entry.bib ]
10 link-citations: true
11 lang: en
12 numbersections: true
13 mainfont: Linux Libertine O
14 keywords:
15 - Computer Science
16 - Database
17 - SQL
18 - Database Design
19 - Database Application
20 - NoSQL
21 header-includes:
22 - \usepackage{latex/packages}
23 pandoc-numbering:
24 problem:
25 general:
26 listing-title: List of Problems
27 standard:
28 format-caption-classic: '%D %n'
29 latex:
30 format-link-title: '%D %n (%T), p. %p'
31 ---
32
33
34 Exercise +.#
35 ~
36
37 For each of the following notion, indicate if they are usually an attribute of NoSQL or of "traditional" `SQL`:
38
39 |||||
40 |-------:|:-------------:|---|---|---|
41 ~ | Schema First | Distributed | Relational | Scalable | Immediate Consistency
42 NoSQL |   |   |   |   |
43 `SQL` |   |   |   |   |
44
45 <!-- Bug with table -->
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