Skip to content

Latest commit

 

History

History
144 lines (80 loc) · 2.9 KB

PITCHME.md

File metadata and controls

144 lines (80 loc) · 2.9 KB

Intro to Databases


What is a Database?


Structured or organized collection of data
---

Databases can take many forms...

---?image=presentation_assets/serverroom.jpeg

Sometimes this

---

Files on disk

20160101.csv	20160601.csv
20160102.csv	20160602.csv
20160103.csv	20160603.csv
20160104.csv	20160604.csv
20160105.csv	20160605.csv

Spreadsheet

spreadsheet


Relational Database Management Systems


Specialty database systems

Document database (MongoDB)

Graph database (neo4j)

Distributed (Hbase, Impala)


Small single file

or

large and distributed


Running Locally

or

on many servers


Today: Relational Databases and SQL

RDBMS: **R**elational **DataB**ase **M**anagement **S**ystem

SQL: **S**tructured **Q**uery **L**anguage


Why?


Most common

Suitable for a wide variety of cases

Accessible and (relatively) easy to use

Familiar structure


Tables of related data


Rows of records/observations

Columns of attributes or fields

Tables are linked together with keys (relational model of data)


example Source: BBC


When are Databases Useful?

Multiple people need access to the same, current data

Individual observations (records) are changing or being added

Enforce constraints about data values, structure, and relationships

Automatically maintain attributes of data like "last modified," "created date"


How does it work?

SERVER (usually):

    Holds the data

    Manages access and permissions

    Can hold multiple databases

    Runs locally or on a remote system

CLIENT program connects to the server to access the data


Entity-relationship diagram example