* Your assessment is very important for improving the work of 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
jeff@grokfusebox.com
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.',
'jqada@grokfusebox.com',
'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