/README.md (714cb3757562bc70b2da08da94e8539eba85ef22) (5336 bytes) (mode 100644) (type blob)

---
title: Readme for Lecture Notes for CSCI 3410 -- Database Systems
author: Clément Aubert
lang: en
fontsize: 10pt
documentclass: scrartcl
numbersections: true
papersize: letter
geometry: margin=1in
---

Here are the lecture notes, codes, exercises, problems and references for a lecture on database taught at [Augusta University](https://www.augusta.edu/) by C. Aubert.
The webpage for this project is at <https://spots.augusta.edu/caubert/db/ln/>, and it contains a compiled version of the notes.

# Getting Started

The source code, hosted at <https://rocketgit.com/user/caubert/CSCI_3410>, is organized as follows:

~~~{.plain}
.
├── install/                -- Installing the requirements to compile the document.
├── notes/                  -- The notes themselves.
│   ├── bib/                -- References (including reference to the document).
│   ├── code/               -- Source code included in the document.
│   ├── fig/                -- Source code for various figures.
│   ├── filters/            -- Pandoc filters.
│   ├── img/                -- Various image files integrated in the document.
│   ├── latex/              -- Latex configuration file.
│   ├── lib/                -- Various libraries
│   ├── style/              -- css style used for the web page.
│   ├── example.md          -- An example file, to test your installation.
│   ├── lectures_notes.md   -- The main file for the lecture notes.
│   ├── Makefile            -- Directives to generate the lecture notes.
│   └── temp.md             -- Temporary file, for debugging purposes.
├── CONTRIB.md              -- A guide on how to contribute.
├── KNOWN_BUGS.md           -- A list of possible bugs, improvements, …
├── LICENSE.md              -- The license of those notes.
└── README.md               -- The present file.
~~~


Before compiling this document, you will need to install git, LaTeX, pandoc, some of pandoc's filters, and several other programs. 
Refer to [install/INSTALL.md](install/INSTALL.html) for instructions on how to compile this document, and to [notes/example.md](notes/example.html) for an example file.    

To clone the source, use git and the command

~~~{.bash}
git clone https://rocketgit.com/user/caubert/CSCI_3410
~~~

To compile this document, simply change directory to `notes` and run

- `make fig`, then `make pdf`, to obtain the pdf version,
- `make fig_svg`, then `make html` to obtain the html version,
- `make fig_svg`, then `make odt` to obtain the odt version.

The Makefile in the `notes` folder is commented.

# Contributing

The simplest way to contribute is to report typos, errors or misleading statements.
You will find some instructions at [`CONTRIB.md`](CONTRIB.html) if you'd like, but you can…

- …contact or visit the author, cf. <https://spots.augusta.edu/caubert/#contact>.
- …submit a pull request, cf. [`CONTRIB.md`](CONTRIB.html) for more information.
- …submit bug reports at <https://rocketgit.com/user/caubert/CSCI_3410/bug> (requires an account).

# Authors and Contributors

- **Clément Aubert** - *Initial work* - <https://spots.augusta.edu/caubert/>
- **Crystal Anderson** - *Revisions*
- **Bobby Mcmanus**, **Minh Nguyen** and **Poonam Veeral** - *Installation guide and quality control*

Those notes would not have been without the constant support, curiosity, and remarks from my students.
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)).
Bobby, Minh and Poonam benefited from the support and guidance of Dr. Onyeka Ezenwoye in the CSCI 4712 - Senior Capstone Project class.

Additionally, Daniel Gozan, Mark Holcomb, Assya Sellak, Sydney Strong and Patrick Woolard helped [smash some bugs](https://spots.augusta.edu/caubert/projects/Capstone_Final_Document.pdf) in the tools used to produce this document, under the guidance and support of Dr. Dariusz Kowalski in the CSCI 4712 - Senior Capstone Project class.



# License

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.
Refer to [`LICENSE.md`](LICENSE.html) for the complete licence.

The following files have different licences, and have other authors:

- `notes/lib/mongo-java-driver-3.9.1.jar` and `notes/code/java/QuickTour.java` both come from <https://github.com/mongodb/mongo-java-driver> and are released under Apache License 2.0,
- `notes/lib/google-java-format-1.7-all-deps.jar` comes from <https://github.com/google/google-java-format/releases> and is released under the Apache 2.0 license.
- `notes/lib/mysql-connector-java-8.0.19.jar` comes from <https://dev.mysql.com/downloads/connector/j/> and is released under version 2 of the GNU General Public License (GPLv2).

Those files are redistributed as is, in agreement with their respective licences.

The file `notes/fig/er/template.def` was inspired by the `tikz-er2` package, available at <https://bitbucket.org/pavel_calado/tikz-er2/src/default/>.


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 5336 714cb3757562bc70b2da08da94e8539eba85ef22 README.md
040000 tree - eb7afc38251ada69e1967e1ce3e49967eca2267c install
040000 tree - 6908eeec26a6fb2d03a75bb846acd5468e445314 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