class: title-slide # Bus Commercial Management Tool(s) ### Eric Stemmler ### 15. November 2021 --- # Spreadsheets .pull-left[ ## Pros - everyone knows Excel (somewhat) - "What you see is what you get" - graphical user interface ] -- .pull-right[ ## Cons - keeping track of changes (!) - data limits (e.g. 1,048,576 rows) - translation issues ] .footnote[https://www.microsoft.com/en-us/microsoft-365/p/excel/cfq7ttc0k7dx/?activetab=pivot:regionofsystemrequirementstab https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3] ??? - when several people work with the same Excel file and new data comes in, everyone needs to update the same file - there is a small about of license costs for excel, however there are free alternatives such as libre office - keeping track of local files is tedious: how do you make sure that everyone uses the same version and the same data? - you could use version-control software for this - the more complex functions in Excel are usually written in Visual Basic (VBA) - Excel files independently from the computer's capacity that opens it have a fixed limit for the data it can hold --- # From Excel to Databases .pull-left[ - *everything* in one "file" - separat visual representation - guarantees - atomicity - **consistency** - isolation - **durability** ] -- .pull-right[ <img src="https://media.giphy.com/media/oCGjUWkj8vz9u/giphy.gif" width="100%" /> ] ??? - databases are the de-facto standard how large company store structured data - databases provide the means to store any data, even things like video data can be stored in databases. - the only case where traditional databases cannot be used efficiently is when there is unstructured data- structured data is data that always comes in a known format, and that format does not change over time. - independt from the database one can create or buy a user interface that provides an easier to use interface to interact with the database, e.g. generate a report, enter data, etc. (e.g. NaviCat for PostgreSQL) --- background-image: url(img/guatemala-police-archive.webp) background-size: cover --- # Databases - everything in *one* file <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20top%0A%0A%5B%3Ctable%3Eevidenca%20%7C%20category%20%7C%20designation%20%7C%20operator%20%7C%20line_id%20%7C%20year%20%7C%20month%20%7C%20unit%20%7C%20value%20%20%7C%7C%20income%20%7C%20monthly%20tickets%20income%20%7C%20Alba%20Trans%20%7C%201%20%7C%202021%20%7C%20November%20%7C%20ALL%20%7C%20100000%20%7C%7C%20income%20%7C%20monthly%20tickets%20income%20%7C%20Alba%20Trans%20%7C%201%20%7C%202021%20%7C%20October%20%7C%20ALL%20%7C%2099000%20%7C%7C%20income%20%7C%20monthly%20tickets%20income%20%7C%20Alba%20Trans%20%7C%201%20%7C%202021%20%7C%20September%20%7C%20ALL%20%7C%2098000%20%20%7C%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%5D%0A" height="100%" /> --- <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20top%0A%0A%5B%3Ctable%3Eevidenca%20%7C%20category%20%7C%20designation%20%7C%20line_id%20%7C%20year%20%7C%20month%20%7C%20value%20%7C%7C%20Income%20%7C%20Monthly%20Tickets%20Income%20%7C%2015%20%7C%202021%20%7C%20November%20%7C%201000000%20%7C%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%5D%0A" height="100%" /> --- <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20top%0A%0A%5B%3Ctable%3Eevidenca%20%7C%20category%20%7C%20designation%20%7C%20line_id%20%7C%20year%20%7C%20month%20%7C%20value%20%7C%7C%20Income%20%7C%20Monthly%20Tickets%20Income%20%7C%2015%20%7C%202021%20%7C%20November%20%7C%201000000%20%7C%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%5D%0A%5Bevidenca%5D-%3E%5B%3Ctable%3Elines%20%7C%20line_id%20%7C%20name%20%7C%7C%2015%20%7C%20Kinostudio%20%7C%7C%20...%20%7C%20...%5D%0A" height="100%" /> --- <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20top%0A%0A%5B%3Ctable%3Eevidenca%20%7C%20category%20%7C%20designation%20%7C%20line_id%20%7C%20year%20%7C%20month%20%7C%20value%20%7C%7C%20Income%20%7C%20Monthly%20Tickets%20Income%20%7C%2015%20%7C%202021%20%7C%20November%20%7C%201000000%20%7C%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%20%7C%20...%5D%0A%5Bevidenca%5D-%3E%5B%3Ctable%3Elines%20%7C%20line_id%20%7C%20name%20%7C%7C%2015%20%7C%20Kinostudio%20%7C%7C%20...%20%7C%20...%5D%0A%5Blines%5D-%3E%5B%3Ctable%3Elicenses%20%7C%20operator%20%7C%20line_id%20%7C%20...%20%7C%7C%20...%20%7C%20...%20%7C%20...%5D%0A" height="100%" /> --- class: middle .center[**S**tructured **Q**uery **L**anguage] ```sql SELECT en.line_id, SUM(value) FROM evidenca_numeric AS en INNER JOIN evidenca_items AS ei ON ei.item_id = en.item_id WHERE en.year = '2019' AND ei.designation = 'Monthly Tickets Income' GROUP BY en.line_id ``` ---
--- # From Databases to Web-based .pull-left[ - just a web browser - user accounts - easy to translate - centralized: always up to date ] -- .pull-right[ <img src="https://media.giphy.com/media/l2JdTkHW1KZPdvdS0/source.gif" width="100%" /> ] --- class: no-padding middle <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20right%0A%5B%3Cstart%3Est%5D-%3E%5Blog%20in%5D%20%0A%20%20%20%20%20%20%20%5Blog%20in%5D-%3E%5BEvidenca-Reporter%3Bwww%20%7C%20select%20year%20%7C%20select%20line%20%7C%20select%20category%20%7C%20fill%20in%20table%20%20%7C%20validity%20checking%20%7C%20...%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5Blog%20out%5D%20%0A%20%20%20%20%20%20%20%5Blog%20out%5D-%3E%5B%3Cend%3E%20en%5D%0A%20%20%20%20%20%20%20" width="100%" /> --- <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20right%0A%5B%3Cstart%3Est%5D-%3E%5Blog%20in%5D%20%0A%20%20%20%20%20%20%20%5Blog%20in%5D-%3E%5BEvidenca-Reporter%3Bwww%20%7C%20select%20year%20%7C%20select%20line%20%7C%20select%20category%20%7C%20fill%20in%20table%20%20%7C%20validity%20checking%20%7C%20...%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5B%3Csender%3Edraft%5D%20%0A%20%20%20%20%20%20%20%5Bdraft%5D-%3E%5B%3Cdatabase%3E%20evidenca%5D%0A%20%20%20%20%20%20%20%5Bdraft%5D-%3E%5BEvidenca-Reporter%5D%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%20%5Blog%20out%5D%20%0A%20%20%20%20%20%20%20%5Blog%20out%5D-%3E%5B%3Cend%3E%20en%5D%0A%20%20%20%20%20%20%20" width="100%" /> --- <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20right%0A%5B%3Cstart%3Est%5D-%3E%5Blog%20in%5D%20%0A%20%20%20%20%20%20%20%5Blog%20in%5D-%3E%5BEvidenca-Reporter%3Bwww%20%7C%20select%20year%20%7C%20select%20line%20%7C%20select%20category%20%7C%20fill%20in%20table%20%20%7C%20validity%20checking%20%7C%20...%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5B%3Csender%3Esubmit%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5B%3Csender%3Edraft%5D%20%0A%20%20%20%20%20%20%20%5Bsubmit%5D-%3E%5B%3Cdatabase%3E%20evidenca%5D%20%0A%20%20%20%20%20%20%20%5Bdraft%5D-%3E%5Bevidenca%5D%0A%20%20%20%20%20%20%20%5Bdraft%5D-%3E%5BEvidenca-Reporter%5D%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%20%5Blog%20out%5D%20%0A%20%20%20%20%20%20%20%5Blog%20out%5D-%3E%5B%3Cend%3E%20en%5D%0A%20%20%20%20%20%20%20" width="100%" /> --- <img src="https://nomnoml.com/image.svg?source=%23fill%3A%20white%0A%23direction%3A%20right%0A%23.green%3A%20fill%3D%238f8%0A%5B%3Cstart%3Est%5D-%3E%5Blog%20in%5D%20%0A%20%20%20%20%20%20%20%5Blog%20in%5D-%3E%5BEvidenca-Reporter%3Bwww%20%7C%20select%20year%20%7C%20select%20line%20%7C%20select%20category%20%7C%20fill%20in%20table%20%20%7C%20validity%20checking%20%7C%20...%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5B%3Csender%3Esubmit%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5B%3Csender%3Edraft%5D%20%0A%20%20%20%20%20%20%20%5Bsubmit%5D-%3E%5B%3Cdatabase%3E%20evidenca%5D%20%0A%20%20%20%20%20%20%20%5Bdraft%5D-%3E%5B%3Cdatabase%3E%20evidenca%5D%0A%20%20%20%20%20%20%20%5Bdraft%5D-%3E%5BEvidenca-Reporter%5D%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%20%5Blog%20out%5D%20%0A%20%20%20%20%20%20%20%5BEvidenca-Reporter%5D-%3E%5B%3Csender%3Ereport%5D%0A%20%20%20%20%20%20%20%5Breport%5D-%3E%5Bxlsx%20file%5D%0A%20%20%20%20%20%20%20%5Blog%20out%5D-%3E%5B%3Cend%3E%20en%5D%0A%20%20%20%20%20%20%20" width="100%" /> --- class: middle, center <img src="img/qr.svg" width="33%" /> # Thank You