Successfully reported this slideshow.

Database Basics and MySQL

2,065 views

Published on

Database Basics and MySQL

Published in: Technology
  • Be the first to comment

Database Basics and MySQL

  1. 1. Creation, Manipulation, and ManagementJerome LocsonDeveloper, Ariba Tech Solutionsme@jeromelocson.com
  2. 2.  Graduate from ADZU, BSCS PhilNITS FE Passer GTUG PH, Zamboanga Chapter Community Manager Technopreneur, Ariba Tech Solutions Blog: www.jeromelocson.com
  3. 3.  Relational Database Concept Structure Query Language (SQL) ◦ DDL, DML and DCL Database Normalization ACID Property Relational Database Management Systems (RDBMS), MySQL Example of MySQL Queries (PhpMyAdmin) SQL Injection Prevention
  4. 4. ◦ Used by all major commercial database systems◦ Very simple model◦ Query with high-level languages: simple yet expressive◦ Efficient implementations
  5. 5. Schema = structural description of relations in databaseInstance = actual contents at given point in time
  6. 6. Database = set of named relations (or tables) Each relation has a set of named attributes (orcolumns) Each tuple (or row) has a value for each attribute Each attribute has a type (or domain)
  7. 7. NULL – special value for “unknown” or “undefined”
  8. 8. Key – attribute whose value is unique in each tuple Or set of attributes whose combined values areunique
  9. 9. ◦ Used by all major commercial database systems◦ Very simple model◦ Query with high-level languages: simple yet expressive◦ Efficient implementations
  10. 10.  Standard/dominant language for accessing databases and processing Steady improvements in reliability, performance and security Applicable to many database systems
  11. 11.  It can define a database (DDL) It can manipulate database (DML) and, can control a database (DCL)
  12. 12.  defining the structure and contents of a relational database Metadata (data about the data) defines the mapping of database to physical hardware and devices Basic Syntax: ◦ Create Table, Alter Table, Drop Table, Create View, Create User, etc.
  13. 13.  specifies how queries and updates are to be done Basic Syntax: ◦ Select, Insert, Delete, Update
  14. 14.  involves configuring and controlling the database - permission, roles, and referential integrity Basic Syntax: ◦ Grant, Check, Constraint, Primary Key, Foreign Key
  15. 15.  Process of efficiently organizing data in a database (1NF-5NF) Too: Entity-Relationship Diagram (ERD) Goals: ◦ eliminating redundant data ◦ ensuring data dependencies make sense Forms: ◦ 1NF (First Normal Form) ◦ 2NF (Second Normal Form) ◦ 3NF (Third Normal Form)
  16. 16.  First normal form (1NF) sets the very basic rules for an organized database: ◦ Eliminate duplicative columns from the same table. ◦ Create separate tables for each group of related data and identify each row with a unique column or set of columns (the primary key).
  17. 17.  Second normal form (2NF) further addresses the concept of removing duplicative data: ◦ Meet all the requirements of the first normal form. ◦ Remove subsets of data that apply to multiple rows of a table and place them in separate tables. ◦ Create relationships between these new tables and their predecessors through the use of foreign keys.
  18. 18.  Third normal form (3NF) goes one large step further: ◦ Meet all the requirements of the second normal form. ◦ Remove columns that are not dependent upon the primary key.
  19. 19.  Stands for atomicity, consistency, isolation, durability set of properties that guarantee database transactions are processed reliably
  20. 20.  Atomicity (atomic) ◦ requires that database modifications must follow an "all or nothing" rule ◦ If one part of the transaction fails, the entire transaction fails and the database state is left unchanged.
  21. 21.  Consistency ◦ ensures that any transaction the database performs will take it from one consistent state to another ◦ only consistent (valid according to all the rules defined) data will be written to the database ◦ whatever rows will be affected by the transaction will remain consistent with each and every rule
  22. 22.  Isolation ◦ no transaction should be able to interfere with another transaction at all ◦ use a serial model where no two transactions can occur on the same data at the same time
  23. 23.  Durability ◦ once a transaction has been committed, it will remain so ◦ every committed transaction is protected against power loss/crash/errors and cannot be lost by the system and can thus be guaranteed to be completed
  24. 24.  RDBMS is the basis for SQL, and for all modern database systems like MS SQL Server, IBM DB2, Oracle, MySQL, and Microsoft Access. MySQL database is the worlds most popular open source database for the Web Supports different languages, environment, etc. www.mysql.com
  25. 25. • mysql_connect(host, username [,password]); ◦ Connects to a MySQL server on the specified host using the given username and/or password. Returns a MySQL link identifier on success, or FALSE on failure.• mysql_select_db(db_name [,resource]) ◦ Selects a database from the database server.
  26. 26. • mysql_query(SQL, resource); ◦ Sends the specified SQL query to the database specified by the resource identifier. The retrieved data are returned by the function as a MySQL result set.• mysql_result(result, row [,field]); ◦ Returns the contents of one cell from a MySQL result set. The field argument can be the field name or the field’s offset.• mysql_fetch_array(result [,result_type]) ◦ Fetch a result row as an associative array, a numeric array, or both. The result type can take the constants MYSQL_ASSOC, MYSQL_NUM, and MYSQL_BOTH.
  27. 27. • mysql_free_result(result) ◦ Frees the result set• mysql_close(resource) ◦ Closes the connection to the database.
  28. 28.  If there is error in the database connection, you can terminate the current script by using the die function. For example: $db = mysql_connect("localhost", "root“, “”) or die("Could not connect : " . mysql_error()); mysql_select_db("my_database") or die("Could not select database"); $result = mysql_query($query) or die("Query failed");
  29. 29. <?php/* Connecting, selecting database */$link = mysql_connect("mysql_host", "mysql_user",mysql_password") or die("Could not connect : " . mysql_error());echo "Connected successfully";mysql_select_db("my_database") or die("Could not selectdatabase");/* Performing SQL query */$query = "SELECT * FROM my_table";$result = mysql_query($query) Loop through each row or die("Query failed : " . mysql_error()); of the result set/* Printing results in HTML */echo "<table>n";while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "t<tr>n"; foreach ($line as $col_value) { Loop through each echo "tt<td>$col_value</td>n"; element in a row } echo "t</tr>n";}
  30. 30. /* Free resultset */mysql_free_result($result);/* Closing connection */mysql_close($link);?>
  31. 31.  Using mysql_real_escape_string() Using of string replace method for SQL keywords like SELECT, INSERT, DELETE and UPDATE

×