Database Management System Postgresql -object-relational extensions MySQL IBM DB2 SQL Server Oracle MariaDB Aurora InfluxDB MongoDB Neo4J Firebase Redis Relational Database Management System Relational Data Model Database = a set of relations A relation (table) = a set of tuples A tuple = a set of attribute/value pairs 1 Rule: attributes can only simple values Students(SSN, RIN, Name, Major, Class, Email, DoB, PreferredName, Salutation, Address) Can two students have the same SSN/RIN? No Can a student have two SSNs/RIN? No What is a key for student? SSN -- may be not (because not everyone may have one) Email RIN Students(SSN, , Name, Major, Class, Email, DoB, PreferredName, Salutation, Address) If RIN is key, can a student have more than one major? No! Students: RIN Name Major 1 Sibel CSCI 2 Rich ECSE 1 Sibel ARTS Change key! RIN, Major Students(SSN, RIN, Name, Major, Class, Email, DoB, PreferredName, Salutation, Address) ---------------- Classes(CRN, CourseCode, CourseNumber, Schedule, Instructor, Deparment, RoomNo , Building, Credits, NumEnrolled, Semester, Year, SectionNo) Key: CourseCode CourseNumber Year Semester Section Instructor or CRN Instructor