* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CF Database I
Object storage wikipedia , lookup
Information privacy law wikipedia , lookup
Expense and cost recovery system (ECRS) wikipedia , lookup
Microsoft Access wikipedia , lookup
Operational transformation wikipedia , lookup
Business intelligence wikipedia , lookup
Open data in the United Kingdom wikipedia , lookup
3D optical data storage wikipedia , lookup
Data vault modeling wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Asynchronous I/O wikipedia , lookup
Relational algebra wikipedia , lookup
Versant Object Database wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Clusterpoint wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Database model wikipedia , lookup
CF Database I Jeff Peters [email protected] Why Are You Here? Data and Persistence ODBC Relational vs. Flat SQL CFQUERY, CFOUTPUT, CFLOOP Practicum Data and Persistence Persistence = Turn off, turn on—data still there. Secondary storage (disk or other nonvolatile) DBMS Excel Text file ODBC Open DataBase Connectivity Allows a common interface to many databases. Does not homogenize SQL Must be configured on the CF server Relational vs. Flat Relational: Tables may be linked (related) to make storage more efficient. E.F. Codd Flat: Tables cannot be linked. Think of a spreadsheet. CFQUERY Allows any SQL statement to be run. Returns a recordset depending on SQL. Can pass authentication attributes: USERNAME PASSWORD Can cache data for better performance. CFOUTPUT Refers to a CFQUERY recordset to generate output to the browser. May be nested using the GROUP attribute. May NOT be nested without the GROUP attribute (see CFLOOP). CFLOOP Refers to a CFQUERY recordset; does not produce output to the browser. CFLOOP may also be used for incremental loops, lists, and objects—not the scope of this session. SQL Structured Query Language Common syntax for interacting with a database. (Beware variations) SELECT, INSERT, UPDATE, DELETE More complex commands available; related to DBA functions. Caching Queries Improves performance by storing data in server memory. Implemented through CFQUERY CACHEDWITHIN attribute Practicum – ODBC MS Access: CFDB101 webroot\cfun03\CFDB101.mdb MS Excel: CFDB101Excel webroot\cfun03\Members.xls Text File: CFDB101Text webroot\cfun03\TextDB\Members Practicum – CFQUERY SELECT INSERT DELETE UPDATE Practicum – CFQUERY SELECT <cfquery name="qryGetMembers" datasource="CFDB101" dbtype="ODBC"> SELECT memberNumber, lastName, firstName, email, phone, memberSince FROM Members </cfquery> <cfdump var="#qryGetMembers#"> Practicum – CFQUERY SELECT Practicum – CFQUERY INSERT <cfquery datasource="CFDB101" dbtype="ODBC"> INSERT INTO Members ( memberNumber, lastName, firstName, email, phone, memberSince ) VALUES ( 4, 'Adams', 'John Q.', '[email protected]', '7035554444', #CreateODBCDate(Now())# ) </cfquery> Practicum – CFQUERY INSERT Practicum – CFQUERY DELETE <cfquery datasource="CFDB101" dbtype="ODBC"> DELETE FROM Members WHERE memberNumber = '4' </cfquery> Practicum – CFQUERY DELETE Practicum – CFQUERY UPDATE <cfquery datasource="CFDB101" dbtype="ODBC"> UPDATE Members SET phone = '7035551212' WHERE memberNumber = '1' </cfquery> Practicum – CFQUERY UPDATE Practicum – CFOUTPUT <cfquery name="qryGetMembers" datasource="CFDB101" dbtype="ODBC"> SELECT lastName, firstName, memberSince FROM Members ORDER BY memberSince </cfquery> <h3> <cfoutput query="qryGetMembers"> <span style="color: red"> #DateFormat(memberSince,"mm/dd/yyyy")# </span>: #firstName# #lastName#<br> </cfoutput> </h3> Practicum – CFOUTPUT Practicum – CFLOOP <cfquery name="qryGetMembers" datasource="CFDB101" dbtype="ODBC"> SELECT lastName, firstName, memberSince FROM Members ORDER BY memberSince </cfquery> <h3> <cfloop query="qryGetMembers"> <cfset memberYears = DateDiff("YYYY",memberSince,Now())> <cfoutput> #firstName# #lastName# - Member for #memberYears# years. <br> </cfoutput> </cfloop> </h3> Practicum – CFLOOP Thomas Jefferson - Member for 226 years. John Adams - Member for 226 years. George Washington - Member for 226 years. Practicum – Caching <cfquery name="qryGetMembers" datasource="CFDB101" dbtype="ODBC" cachedwithin="#CreateTimeSpan(1, 0, 0, 0)#"> SELECT memberNumber, lastName, firstName, email, phone, memberSince FROM Members </cfquery> Bonus – Aqua Data Studio http://www.aquafold.com Interfaces with DB2, Informix, MySQL, Oracle, PostgreSQL, SQL Server, SyBase, any JDBC source. Q&A