1 DataBase Logic in Business ApplicationsAl.I. Cuza University of Iași Faculty of Economics and Business Administration Department of Accounting, Information Systems and Statistics DataBase Logic in Business Applications Course outline By Marin Fotache & Co.
2 Some bad news In software development, databases are NOT as important as they used to be Ten-fifteen years ago, business apps were developed around databases Those were DB golden years (DB dictatorship ) Now many devs are DB “agnostics” (sometimes completely ignorants) Database courses are, in most cases, taught awfully (all over the world) – the main target is database software development (Oracle, MS, IBM) instead of business apps development – see next slides
3 Common DataBase course plan
4 Consequences of technically-focused DB coursesStudents know a lot of details about what’s inside of a DBMS (buffering, caching, logging, …), not much about how to use a database Mastering mathematical/theoretical issues about database normalization, but insufficient knowledge about how to properly design a database schema Most of the software developers tend to include all of the application logic (including database query, security, logging) into the application layer (Java, .NET etc.) There is a chronic poor use of DBMSs features
5 And now for the good newsApart from software development, “data-ification” is one of the most vivid phenomena on the IT market (and definitively a buzz) Databases are part of the data-ification buzz The broad area of data-ification is usually labelled as Big Data The main difference between Databases and Big Data is that usually Databases deal with (more) structured/rigorous data, whereas Big Data deals with semi and non () structured data (generated by mobile devices, sensors, web logs, social networks etc..)
6 Data ramifications & courses at SIA/SDBISDatabases – dealing mostly with structured data Logical Database Design: DataBase Logic for Business Applications (DBLBA) Database query: DBLBA Database Logic (stored procedures, triggers, scheduler): DBLBA Physical Database Design (including database optimization) – DataBase Administration (DBA) Database Administration – DBA Data Warehouses – dealing also with huge volumes of structured (in some different ways, such as star-schema, snowflake) data Business Intelligence / Decision Support Systems (BI/DSS) Data Warehouses, Data Mining and Knowledge Discovery (DWDMKD)
7 Data ramifications & courses at SIA/SDBIS (cont.)NoSQL databases – flexible schema (schema-less) and scalable data stores: Polyglot Persistence and Big Data (PPBD) Document Databases (Mongo) Columnar Databases (Cassandra, Hbase) Graph Databases (Neo4j) Big Data – Hadoop Ecosystems: Polyglot Persistence and Big Data (PPBD) Hadoop – HDFS, MapReduce, Yarn Hive In-memory database systems: Polyglot Persistence and Big Data (PPBD)
8 Data ramifications & courses at SIA/SDBIS (cont.)Data Integration: Information Integration and Web of Data (IIWD) PPBD Data Analysis, Data Mining, Data Science BI/DSS DWDMKD Information and Knowledge Management (IKM) / Knowledge Management, Analytics and Data Science (KMADS)
9 DBLBA Course Content (see also Course Description on FEAA portal)Database fundamentals (recap) Database Query – SQL (recap + pivot) Basic programming in Oracle PL/SQL Bloc structure Procedures Functions Cursors, exceptions Collections in PL/SQL: associative arrays Persistent collections: SQL for collections in PL/SQL Packages Triggers
10 DBLBA Course Content (cont.)Logical Database Design Domains and Types Entity-Relationship diagrams Temporal Validity, de-normalization, post-normalization Common Patterns in Database Modeling Heterogeneous items (products and services) Packages of products and services Metadata Manufactured products (recipes and manufacturing) Identifiable products Standard and customizable configurations Discounts
11 DBLBA Course Content (cont.)Implementing Database Logic using PL/SQL Managing denormalized/calculated attributes Sequences Contexts Logging User access control through views and triggers Implementing Business Rules within Database Logic Business Rules examples Business Rules and triggers Business Rules and schedulers Some PL/SQL Utilities (Dynamic SQL, ...)
12 Strange facts DBLBA is common to both SIA and SDBIS master programmes curricula The course will be taught in English (with an awful accent ) References will be in both Romanian and English Main books (Fotache et al. 2003, Fotache 2009) and some video-tutorials are in Romanian Most video-tutorials are in English (youtube) For SIA students, DBLBA labs and assessment (homework/tests/project) will be in Romanian For SDBIS students, DBLBA labs and assessment (homework/tests/project) will be in English
13 Strange facts (cont.) Homework solution and the two project sections are prepared and presented in teams of three students; team members come from the same master programme Teams will get full access to their unique Google Drive directory; all homework/project solution files will be uploaded on this directory until the deadline decided by both assessors and students Each team will choose an interval (usually 15 minutes) for homework/project presentation Presentation intervals could be placed not only within official timetable, but also after the course (19:40) and/or other days of the week to be proposed and decided by both assessors and team members Every homework will be assessed by the same teacher of couple of teachers
14 Strange facts (cont.) All the student team members must present (a chosen part from the solution) each homework In special cases (announced in advance), the students forced to leave Iasi at presentation time are allowed to use Skype Missing student will not receive the grades for that homework even she/he actually worked For every presented homework, each team receives from the assessors a number of points (e.g. 25 points out of 30); this includes presentation performance Points will be split among team members (by them, according to their contribution) During labs, there will be three invidual tests (see course description); bibliography/references will be available It is not necessary that every team member to get a grade greater than 5 for every homework
15 DBLBA/LBDAA Team Marin Fotache FEAA Cătălin Strîmbei FEAA GeorgeKristó Róbert Synygy Arezzo Sky George Talabă Arezzo Sky Lucian Lazăr Optymyze Alexandru Tică SCCC Fits
16 Additional information about the courseIt is (unbearable) dense Based to a large extent on individual and team work Assessments are scheduled almost every other week (homeworks, project parts) Apparently, course/lab attendance is not compulsory Course lectures are dedicated to discussions and case- studies not available (in most of the cases) in references/tutorials Labs dedicated to homework/test/project assessement and feedback, and also to solving software and syntax problems (related to homework/project)