CSci 275 Assignment 1

Due: Thursday, January 27, 2022.


  1. Briefly define the following terms as they apply to this course:
     
    1. database management system
    2. database schema
    3. data independence
    4. data integrity
    5. view

     
  2. Which of the following DBMS components and functions would not be required in a single user environment (DBMS operating on a personal computer with no networking capabilities)? Explain each choice.
    Components Functions
    Query Processor Data storage, retrieval, update
    Database Manager User-accessible catalog
    File Manager Transaction support
    DML Preprocessor Concurrency control
    DDL Compiler Recovery services
    Catalog Manager Authorization services
    Authorization Manager Data communication support
    Command Processor Integrity services
    Integrity Checker Services to promote data independence
    Query Optimizer Utility services
    Transaction Manager
    Scheduler
    Recovery Manager
    Buffer Manager                                  

     
  3. Write a program in the language of your choice for the following:
     
    Data files have been provided following roughly the layout of the E-R Diagram from class. The fields in the files are comma delimited. Using these files, permit the user to enter a department code, course number, section number, and year, and produce a class list with marks (if they exist) for that course. At the bottom of the report show the average mark for the course. (Use proper formatting to display the values.) Submit the well-documented program and the report for a sample run for the offering of CSCI 275:20 in 2020.
     
    A sample program to find a student given an ID number is presented in C++ (a1.cpp) and Python (a1.py). The program includes structures and functions to read from the files - feel free to use and add to this program.
     
    Note that in C++, comma delimited strings can be read using the input stream method getline, with prototype istream& getline(char* s, int n, char delim), where the first argument can be passed an array of characters, the second represents the maximum number of characters to read, and the third is the delimiter character.
     
    Python has a "csv" file reader which you can import.
     
    Student - ID, LastName, FirstName
    Enroll   - ID, CRN, Year, Grade
    Section - CRN, Year, DeptCode, CourseNo, SectionNo, BuildingCode, RoomNo
    Course  - DeptCode, CourseNo, CourseName