* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download COL362/632: Introduction to Database Systems
Microsoft SQL Server wikipedia , lookup
Oracle Database wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Relational model wikipedia , lookup
ContactPoint wikipedia , lookup
COL362/632: Introduction to Database Systems Maya Ramanath TAs • • • • • Ajay Kumar Madhulika Mohanty Saurabh Nakra Tanuma Patra Neha Sengupta What this course is about (1/2) Database Management Systems What is it ? How to use it ? What is the theory behind it ? We will also study different kinds of DBMSs. What this course is about (2/2) • Textbooks – Garcia-Molina, Ullman and Widom – Silberschatz, Korth and Sudarshan • Additional reading material (conference/journal papers, mainly) How you will be evaluated (1/2) 1. 2. 3. 4. Assignments (2) – 5% + 10% Course projects (2) – 15% + 20% Minor exams (2) – 15% each Major exam – 20% How you will be evaluated (2/2) • Assignments – first assignment in groups of 2, second assignment individually. • Projects – groups of at most 2. You are allowed to discuss assignments with others, provided you document this. The actual work has to be your own. Cheating and plagiarism • Those who cheat once will be awarded negative marks. – For example, if you cheat on your project then it is -20% • Those who cheat twice will be awarded ‘F’ grade and referred to the disciplinary committee of the institute. Attendance policy • For those who attend 90% of the classes and above, they will be awarded 2% bonus marks. – This has the potential to boost you up one grade. Is this course hard? • Those who want to pass – Need at least 40% overall • Those who want to get an ‘A’ grade – Need at least 80%, but that may not be sufficient • For the rest – No decisions can be made now • For auditing the course: an equivalent of B- grade or above is required Above and beyond the course • LaTeX for everything – Templates will be put up on the course website • Web services – Required for course project Course Project – 1 You will build a complete end-to-end, web-based database application This means – DBMS at the backend – Browser is the frontend All teams have to demo their project in person and answer questions Course Project – 2 You will add a new data type into an existing code-base of a DBMS and enable its processing This means – You will read Java code – You will implement new features inside this code-base We will use automated testing for grading this project. Contacting me • Use Piazza!! • If it’s crucial, send me mail – Subject heading: COL362/632: XXX • Only if absolutely necessary, send a mail to schedule an appointment at least 1 day earlier COURSE OVERVIEW Database Management System • Large amounts of data, persisting “forever” – Think “database”, think “disk” • Physical and logical independence – Declarative languages for data manipulation • Operations on the data – Creating a database – Insert, delete, modify, retrieve data • Guarantees What kind of data? • In principle, any kind of data, including video, audio, spatial, text, etc • “Structured” data – Crisp units of data – (short) strings, numbers, dates, etc. – Student database, course database, tourism information, etc. Database 4/9/2011 CSN110 Getting to know your data • What is the data (analyze the requirements)? • How to store it logically ? – Data models (ER and relational models) – Schema and data “Each book has multiple authors, and each author has multiple books?” Getting to know your queries • Declarative query language (SQL) “I want the list of authors who have written at least 200 books” Getting to know your system • Is there anything you can do to make your queries run faster? – Indexes, materialized views • What if the database system gets corrupted/ crashes? – Transaction management (ACID properties) • What if my dog eats my…no, deletes my database? – Security, Recovery Terminology Terms DBMS, Database System, Database management system Database Query, query language, declarative vs. procedural, SQL Transactions Indexes, views, triggers Special Topics • Database issues for managing different kinds of data – Text, Spatial, XML, Probabilistic, etc. • We will probably start these by late March