Thursday, November 12, 2015

Database Concepts - What is a Database? Some beginning notes



What is a database?
A database is a glop of data, a collection of data that models real world things; companies, inventory, websites, etc. The collection of data describes a series of relationships between some entities. (e.g., Annie is taking course number A110 or Josie is subscribed to a specific magazine).

What is a DBMS?
DBMS stands for "Database Management System." As the name says, it's a software that is designed to manage and store the database.

How is a file system different?
A file system is split between main memory and secondary storage, since not everything can be stored in one place. A file system also has multiple users, but it also has access control.

How is this important in CS?
The need for database knowledge is growing; websites have big sets of products, search libraries, the Human Genome project, etc. The concepts of databases also connect to Operating Systems, Programming, theory, or Artificial Intelligence.

What is a data model?
A data model is something that describes the relationships between the entities.
The relational model of relational data consists of tables:
1. The Relation: the rows and columns part of the tables are the relations.
2. The Schema: The schema are the entities and it's attributes.

The different levels of abstraction:
1. View Level/External Level:
       This layer describes how users see this data and database
2. Conceptual Level:
        This level defines the logical part of the database, the connections.
3. Physical Level:
        This level are the schemas that describe those physical files.

Examples of Levels:
Physical Level:
        All the files of each table, not in some order. So just think of a big floating world of tables, I suppose.
    Conceptual Level:
    1. Professors(Pid CHAR(50), Pname CHAR(50), Dept CHAR(50))
    2. Students(Sid CHAR(50), Sname CHAR(50), Age INTEGER, Major CHAR(50))
    3. Departments(Did CHAR(50), Dname CHAR(50))
    4. Courses(Cno INTEGER, Cname CHAR(50))
    5. EnrolledIn(Sid CHAR(50), Cno INTEGER)

    So here we have covered some basic knowledge of databases. Please let me know in the comments what I should talk more about, or if I made any mistakes or typos in this post! I hope you enjoy the start of this learning experience with me! I will soon add to this collection of database posts and put the next link here.

    0 comments:

    Post a Comment