/KNOWN_BUGS.md (25b8e45e7f103089fb70fae5a219f09a29ef5312) (20625 bytes) (mode 100644) (type blob)

---
title: Known Bugs
---

CONTENT TO ADD
===============

- Add exercises and problems involving triggers and stored procedures.
- Add content on Security and "Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles."
- 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.
- 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>).
- Add content on hashing techniques, data storage mechanisms.

TO ANSWER
=========

- Can you make union of different datatypes?
- When you count, do you count null?
- cf notes for Lecture 14: weak entity with identifying relation of degree more than 1. Joint filling. Unclear.
- 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.
- Can an attribute of a relation being a key? Cf. Spring 2018, Final Exam, pb 1.
- Can a multi-valueded attribute be a key attribute?
- Can an identfying relationship have arity 3, with only one side identifying? 
- Can a weak entity have a ratio greater than 1 (i.e., a dependent that is dependent of 2 employees)?
- 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?


TO FIX
=======


MARKDOWN
--------

- Re-type img/ and organize them (FunDep, ER, UML, Rel, Design, Misc?).
- There is no good naming convention for the labels in the markdown file.
- 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>.
- Add "Jump to solution" to every problem?
- Add "question" environments to _all_ the problems and solutions: every time a problem is separated in questions, organize the solutions accordingly. So, do something like

> Solution to Problem 1.1 (A database catalog for a campus)
>    Pb 1.1 – Solution to Q. 1
>    …
>    Pb 1.1 – Solution to Q. 2

Ideally, all the problems would be separated in questions.


DRAWINGS
--------

- Check hat every ER diag. has a (correct) description.

MAKEFILE
--------

- fig_svg should wait for fig to be completed before starting.
- The Phony rules should be called only if needed.
- How to get two rules for the latex files (to compile them, and to clean them)?
- How to get two rules for the SQL files (to test them, and to beautify them)?


HTML
----

- Make the site more accessible. Cf. for instance <https://wave.webaim.org/report#/https://spots.augusta.edu/caubert/db/ln/CSCI_3410_lecture_notes.html> 
- Make a more "mobile-friendly" version. Defer loading of image?
- 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>
- Add alt text

About this last aspect:

The `alt` attribute is useful in many cases (cf. <https://www.w3schools.com/tags/att_alt.asp> ):

> The alt attribute provides alternative information for an image if a user for some reason cannot view it (because of slow connection, an error in the src attribute, or if the user uses a screen reader).

You can see more reasons at <https://www.w3.org/TR/html51/semantics-embedded-content.html#examples-of-scenarios-where-users-benefit-from-text-alternatives-for-images>

Not having those alt attributes prevents the document from being accessible to everyone, and prevent the html document from being "valid" (cf. <https://validator.w3.org/nu/?doc=http%3A%2F%2Fspots.augusta.edu%2Fcaubert%2Fdb%2Fln%2FCSCI_3410_lecture_notes.html> )

In pandoc, the syntax is

```markdown

![Alt text](img/reverse_eng_01.jpeg "Title")
\

```

(note the "\" afterward, to prevent the image of being displayed as a figure).
I have a convention for the relational models, i.e., in

```markdown
![
CAR(VIN (PK), Make, Model, Year)
DRIVER(State (PK), Licence\_number (PK), Name, Address)
INSURANCE(Policy\_Number (PK), Insured\_Car (FK to CAR.VIN), Insured\_Driver\_State (FK to DRIVER.State), Insured\_Driver\_Num (FK to DRIVER.Licence\_number), Rate)
PRICE(Stock\_number (PK), Car\_Vin (FK to CAR.VIN), Price, Margin)
](fig/rel_mod/car_01)
\

```
the part between `![` and `](fig/rel_mod/car_01)` is a description of the image you can see at <https://spots.augusta.edu/caubert/db/ln/CSCI_3410_lecture_notes.html#example>.

It's not ideal, but it gives to someone without images, a good internet connection, etc., the possibility to still get the content.
As of now, the lecture notes do not have a good "notation" to describe

- Entity-relational models,
- Functional dependencies,
- UML diagram,

And have not introduced "alt" attributes for (almost) any of the images that are displayed from the folder "img".



CSS
---

- Wrap the line code. Now it is prevented by
    
        white-space: pre; div.sourceCode { margin: 1em 0; }
            
    cf. the discussion at <https://stackoverflow.com/q/57812345/>
    
    Line Wrapping in DB notes  -- Works more or less if there is only 1 line wrapped:
        
    ```{.css}
    .sourceLine{
    white-space: pre-wrap;
    display:inline-block;
    width:35m;
    }

    .sourceLine{
        background-position: right;
        background-repeat: no-repeat;// repeat-y;
    //    background-size: 1em 1em;
        background-size: 1em 100%;
        background-image: url('data:image/png;base64,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');
    }

    .sourceLine:first-line{
    background:blue;
    //  background:none!important
    }

    ```

    Attempt on the left:
        
    ```{.css}
    .sourceLine{
    white-space: pre-wrap;
    display:inline-block;
    width:35m;
    }

    .sourceLine{
    background-color:red;
    padding-left : 1em;
    background-position: left;
    background-repeat: repeat-y;
    //    background-size: 1em 1em;
    background-size: 1em;// 100%;
    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');
    }
    .sourceLine:first-line{
    background-color:yellow;
    padding-left:-1em!important;
    margin-left:-1em;
    
    /*
    background:transparent!important;
    background-image:none!important;
    background:none!important;
        background-size:0 0!important;
    */
    }
    ``` 
    
    Almost there?

    ```{.css}
    .sourceLine{
    white-space: pre-wrap;
    display:inline-block;
    width:35m;
    }
    
    .sourceLine{
    background-color:red;
    margin-right:1em;
        background-position: right;
        background-repeat: repeat-y;
    //    background-size: 1em 1em;
        background-size: 1em;// 100%;
        background-image: url('data:image/png;base64,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');
    
    }
    .sourceLine:first-line{
    background-color:yellow;
    /*
    background:transparent!important;
    background-image:none!important;
    background:none!important;
        background-size:0 0!important;
    */
    }
    ```
        
- add actual links in code.

PDF
----

- The header are sometimes wrong (in the "Exercises" or "Problems" section, they keep the header of the last section).
- Offer multiple pdf format (binder, fewer margins)?
- One of the unicode symbol does not exist in the Linux Libertine font:  ⌛ (U+231B)
- Some code lines and links are too long.
- The TOC for the probems has weird spacings when it comes to double-digits problems.

SQL
---

- Make sure the code is consistent with double quotes and single quotes.

OTHER
-----

- It could be of interest to offer other formats (cf. <http://pandoc.org/> for a complete list), like `epub`, `docx`, or `mediawiki`.
Some preliminary tests have been conducted, with the command 

    ```{.bash}
    pandoc lectures_notes.md -t nameofoutputformat -o nameofoutput.ext
    ```
    Most formats listed below could use some formatting, but could be compiled.
    For example, all the HTML slideshows compiled but they just have horizontal line breaks as the end of each slide. 
    These are all the formats tested, taken from pandoc.org, that can be exported from markdown (with exception of odt, html, pdf, and  normal pandoc markdown):
    - asciidoc (AsciiDoc) or asciidoctor (AsciiDoctor)
    - beamer (LaTeX beamer slide show)
    - commonmark (CommonMark Markdown)
    - context (ConTeXt)
    - docbook or docbook4 (DocBook 4)
    - docbook5 (DocBook 5)
    - docx (Word docx)
    - dokuwiki (DokuWiki markup)
    - epub or epub3 (EPUB v3 book)
    - epub2 (EPUB v2)
    - fb2 (FictionBook2 e-book)
    - gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions                      not supported in gfm.
    - haddock (Haddock markup)
    - html5 (HTML, i.e. HTML5/XHTML polyglot markup)
    - html4 (XHTML 1.0 Transitional)
    - icml (InDesign ICML)
    - ipynb (Jupyter notebook) (**not tested**)
    - jats_archiving (JATS XML, Archiving and Interchange Tag Set)  (**not tested**)
    - jats_articleauthoring (JATS XML, Article Authoring Tag Set)  (**not tested**)
    - jats_publishing (JATS XML, Journal Publishing Tag Set)  (**not tested**)
    - jats (alias for jats_archiving)
    - jira (Jira wiki markup)
    - json (JSON version of native AST)
    - latex (LaTeX)
    - man (roff man)
    - markdown_mmd (MultiMarkdown)
    - markdown_phpextra (PHP Markdown Extra)
    - markdown_strict (original unextended Markdown)
    - mediawiki (MediaWiki markup)
    - ms (roff ms)
    - muse (Muse),
    - native (native Haskell),
    - opml (OPML)
    - opendocument (OpenDocument)
    - org (Emacs Org mode)
    - plain (plain text),
    - pptx (PowerPoint slide show)  (**not tested**)
    - rst (reStructuredText)
    - rtf (Rich Text Format)
    - texinfo (GNU Texinfo)
    - textile (Textile)
    - slideous (Slideous HTML and JavaScript slide show)
    - slidy (Slidy HTML and JavaScript slide show)
    - dzslides (DZSlides HTML5 + JavaScript slide show),
    - revealjs (reveal.js HTML5 + JavaScript slide show)
    - s5 (S5 HTML and JavaScript slide show)
    - tei (TEI Simple)
    - xwiki (XWiki markup)
    - zimwiki (ZimWiki markup)


TO DO
=======

- Compress / optimize outputs?


TO CHECK
========

- Check with `jhove`, `pdfinfo` the validity of the document.
- Check that order of exercises / problems match introduction in lecture.
- Check that solution of exercises numbering match exercise numbering.
- Consistency, in general.
- Spelling, in general.


REFERENCES TO ADD / READ
========================

- <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/exams/>
- <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/lecture-notes/>
- <https://opentextbc.ca/dbdesign01/chapter/chapter-7-the-relational-data-model/>
- <https://stackoverflow.com/questions/48191228/is-erd-considered-a-kind-of-uml-diagram>
- How to derive an SQL-92 database schema from an information design model <https://oxygen.informatik.tu-cottbus.de/IT/Lehre/MDD-Tutorial/#d5e126>
- 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/>
- 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>
- <https://www.1keydata.com/datawarehousing/data-modeling-levels.html>
- <https://en.wikipedia.org/wiki/Unified_Modeling_Language>
- <https://creately.com/blog/diagrams/class-diagram-relationships/>
- <https://www.ntu.edu.sg/home/ehchua/programming/java/JDBC_Basic.html>
- Have the close in a catch as well: <https://en.wikipedia.org/wiki/Java_Database_Connectivity>

    ```{.java}
    try { 
            conn.close();
        } catch (Throwable e) { /* Propagate the original exception
                                    instead of this one that you want just logged */ 
            logger.warn("Could not close JDBC Connection",e);
        }                     
    ```
    
    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>
- Algo for NF: <http://airccse.org/journal/ijdms/papers/5313ijdms03.pdf>
- Security and salting: <https://stackoverflow.com/q/1054022>
- Storing password:
    - PHP <https://stackoverflow.com/q/5882882>
    - 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>
- NoSQL / SQL, <https://blog.panoply.io/sql-or-nosql-that-is-the-question>
- ER -> XML, <http://users.dimi.uniud.it/~massimo.franceschet/publications/xsym09.pdf>
- XML -> ER, <https://dl.acm.org/citation.cfm?id=1810762>
- <http://infolab.stanford.edu/~ullman/dscb.html>
- <https://open.umn.edu/opentextbooks/textbooks/database-design-2nd-edition>
- <https://www.irif.fr/~amelie/BD.html>


Mode Type Size Ref File
100644 blob 15398 ee75155d2d99639acd17d31b2cc23cd752078e7e CONTRIB.md
100644 blob 20625 25b8e45e7f103089fb70fae5a219f09a29ef5312 KNOWN_BUGS.md
100644 blob 17217 e5c1f9f898cca948da42333b100e331d62b61d3c LICENSE.md
100644 blob 1997 f8801648fd4ba5843a2cbca8b10e4f69ba5d9b25 Makefile
100644 blob 6695 0b91924ffc7b73e2d36150369d4fd41a44b099c5 README.md
040000 tree - eb7afc38251ada69e1967e1ce3e49967eca2267c install
040000 tree - f16b283429b64b620b3bd7681a446ff54d504f84 notes
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