Dev traning 2016 databases
-
Upload
sacheen-dhanjie -
Category
Data & Analytics
-
view
92 -
download
0
Transcript of Dev traning 2016 databases
![Page 1: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/1.jpg)
DatabasesSACHEEN DHANJIE
![Page 2: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/2.jpg)
Sacheen DhanjieSenior Developer @ Afrihost.com
![Page 3: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/3.jpg)
What are databases?•A structured set of data held on a computer
•A place to store data for reading and writing and updating.
![Page 4: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/4.jpg)
Types of databases• Relational Databases• Document Oriented Databases• Distributed Databases• Key Value Databases• There are many other types of databases, you can read up on them here: https://en.wikipedia.org/wiki/Category:Types_of_databases
![Page 5: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/5.jpg)
Relational Database• Relational Databases as databases that allow data tables to be related in some manner.
• This allows for data integrity• Normalization• Relationships
![Page 6: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/6.jpg)
Normalization• Normalization is the process of organizing the columns (attributes) and tables (relations) of a relational database to minimize data redundancy.
• Basically it means, we take a table that has many columns and split it up into smaller tables with little or no redundancy.
• Smaller organized tables also improves performance and disk space usage.
![Page 7: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/7.jpg)
Normalization
![Page 8: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/8.jpg)
Normalization
What else needs to be done?
![Page 9: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/9.jpg)
Normalization
![Page 10: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/10.jpg)
Relationships
![Page 11: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/11.jpg)
Relationships• How would we connect these two table?
![Page 12: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/12.jpg)
Relationships
![Page 13: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/13.jpg)
Relationships
![Page 14: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/14.jpg)
Relationship Type• One to Many
• One Client has Many Client Products • One to One
• One Stock Item belongs to One Client• Many to Many
• Many Users have Many Permissions• http://www.techrepublic.com/article/relational-databases-defining-relationships-between-database-tables/
![Page 15: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/15.jpg)
Keys
![Page 16: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/16.jpg)
Keys• Primary Key
• Uniquely identifies a record• Joint Key
• Two or more columns that uniquely identifies a record• Indexes
• Improves queries to the database• Useful on large tables• index columns that will be used when querying the database
• Foreign Keys• Theses are used when creating relationships between tables
![Page 17: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/17.jpg)
Select
![Page 18: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/18.jpg)
CRUD – Create/ Read / Update / Delete
![Page 19: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/19.jpg)
Joining Tables
![Page 20: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/20.jpg)
Joins
• Left Join• Inner Join• Outer Join• UnionSub Query [select from a select] => expensivehttp://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.htmlhttp://www.mysqltutorial.org/
![Page 21: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/21.jpg)
Transactions
![Page 22: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/22.jpg)
Transactions
START TRANSACTION – initiates the transactionCOMMIT – save everything in the transactionROLLBACK – revert all the changes
![Page 23: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/23.jpg)
Features• Triggers
• MySQL triggers are stored programs that are executed automatically to respond to specific events associated with table e.g., insert, update or delete a record
• Stored Procedures• SQL wrapped in a callable function
• getUsers() = select * from Users;• CALL getUsers()
![Page 24: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/24.jpg)
NoSQL Databases• Databases that stores information in Collections• A Collection has Documents• A Document has an Objects• Most do not support transactions• Used to store dynamic information
• GEO location data
![Page 25: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/25.jpg)
NoSQL Databases• MongoDB• CounchDB• neDB
![Page 26: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/26.jpg)
NoSQL Databases• db.items.find({}).pretty()
![Page 27: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/27.jpg)
Key Value Pair Databases• Redis• Riak• Key value databases are great for caching information• http://nosql-database.org/
![Page 28: Dev traning 2016 databases](https://reader035.fdocuments.net/reader035/viewer/2022062821/58acc7e41a28abd3048b6285/html5/thumbnails/28.jpg)
Questions?