Database Programming v1'2 - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Database Programming v1'2

Description:

Database Programming v1.2. or Application Design with Databases ... Jon Emmons is a Oracle Database Blogging success story! Learn what is new and changing ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 22
Provided by: ITS98
Category:

less

Transcript and Presenter's Notes

Title: Database Programming v1'2


1
Database Programming v1.2
  • or Application Design with Databases
  • or The Guest Lecture Dr. Shen Asked Me To Do

Matthew Batchelder Lead Developer ITS
2
Ye Olde Overview
  • My Background
  • My Project Background
  • Application Design Process
  • Analysis
  • Language Selection
  • Database Design
  • Interface Design
  • Development
  • The Sweet Stuff
  • The Database Programming Industry
  • Flavors of Developers
  • Where Things Are Headed
  • Stuff Ive Learned
  • Suggestions

3
Me
4
Background
  • PSU Graduate (PSC, actually)
  • PSU ITS
  • Help Desk
  • PHP/Java Programmer
  • Registrar PL/SQL Programmer
  • Application Developer
  • Database Design
  • Front-end Design
  • Javascript
  • PHP
  • PL/SQL
  • Im a Blogger (BorkWeb)

5
Project Background
  • As a Student
  • Database HCI Classes
  • Senior Project
  • On the Side (Im a Geek)
  • Star Wars (Emperors Hammer Dark Jedi
    Brotherhood)
  • Uber-Geeks Site
  • Random Database Projects
  • As an Employee
  • Lots of Misc. Apps
  • On the Side (Im still a Geek)
  • BorkWeb
  • Uber-Geeks Site (always in limbo)
  • MasterWish
  • Random Database Projects
  • Consulting
  • University of San Diego, Colby-Sawyer College,
    Ferris State University, etc.

6
Application Design Process
7
Application Design Process
  • Analysis
  • If you are beginning an application, there is
    undoubtedly a problem/inefficiency that needs a
    solution.
  • Compile a list of application needs
  • Brain dump first, then sort, detail where needed,
    then prioritize.
  • Build process maps Map it out!
  • What are the uses of the application?
  • How will data be passed around your application?
  • Analyze your diagrams and needs to root out
    inefficiencies

8
Application Design Process
  • Choosing Your Language
  • Use what is appropriate
  • Weigh
  • Your development capabilities
  • Time constraints
  • Language suitability
  • Thus far, Ive opted for PHP in most cases

9
Application Design Process
  • Database Design
  • This is the applications foundation
  • Know your data
  • The Whiteboard is your friend
  • Take your time and do this early on.

10
Application Design Process
  • Interface Design
  • Storyboard
  • The Whiteboard is still your friend
  • Oh, and paper too
  • Graphics/Colors/Document Structure
  • It is extremely important to know what your
    application should look like!

11
Application Design Process
  • Development
  • Develop in chunks
  • Database Abstraction
  • PHP ADOdb Pear
  • Modularization
  • OO is where its at
  • Templatization
  • SmartyTemplates XTemplates
  • The Sweet Stuff
  • Javascript
  • XHR

12
The Database Programming Industry
13
Database Programming Industry
  • Flavor of Developers
  • Full Blown Database Developers
  • Usually focused on Oracle or SQLServer or other
    enterprise level database
  • Writing stored procedures and triggers
  • Data warehousing
  • Application Developers
  • Not necessarily focused on any one database.
  • Quite a bit of UI work (but not necessarily)
  • Specialization in either desktop or web based
    development
  • Many aspects of the Full Blown DB Dev but often
    less expertise
  • Report Writers
  • Not necessarily specialized in any one database
  • Master of a reporting tool
  • Focus on SQL optimization

14
Database Programming Industry
  • Where Things Are Headed
  • Who the bleep knows?
  • Keep an eye on
  • Ajax
  • Web 2.0
  • Collaboration
  • RSS Remixability
  • Usability
  • Accessibility
  • Open Data

15
Stuff Ive Learned
16
Stuff Ive Learned
  • Do your own thing
  • If you run into an issue search for the answer
    online
  • ask friends and/or instructors for answers only
    as a last resortwhen youre at a jobchances
    are, no one knows the answer near you. Get used
    to it.
  • Brainstorm DB Design on Paper
  • When you have an idea, jot it down on paper or
    the whiteboard then leave it. Come back later
    and look at it again, youll be sure to find
    inefficiencies.

17
Stuff Ive Learned (cont.)
  • Design your Databasedont just build it
  • Its one thing to accomplish a taskits a
    completely different thing to do it correctly
    Where correctly means
  • Re-usable
  • Sustainable
  • Versatile
  • I find it useful to throw a design on the board
    and critique it aloud and (if possible) with
    another designer in the room.
  • Ideas can be bounced back and forth and
    inefficiencies found before any coding has been
    done
  • Design your Interfacedont just build it
  • A solid set of mockups saves time and code.
    Scratch it down on paper before coding. Get a
    general idea about how your pages should contain
    and manipulate your data.

18
Stuff Ive Learned (cont.)
  • Specific Things
  • Spend a LOT of time on query optimization. This
    is not only fun, it really speeds up your
    applications.
  • Some complex queries are better left simple with
    generic results broken up and manipulated with a
    programming language such as PHP.
  • Dont forget about indexing your tablesand do it
    intelligently!
  • Innovate. Dont needlessly recreate the wheel.
  • Oracle Programming Consultants make a lot of
    money. It really is pretty sick.
  • Corporate Jobs are no more difficult than
    Education-based onesjust higher paid and higher
    risk.

19
Suggestions
  • Senior Projects and School Projects
  • These can be goodnice learning tools but they
    typically wont get you very far
  • And 9 times out of 10 they wont land you a job
  • Study on your own
  • Blog Read Blogs
  • Jon Emmons is a Oracle Database Blogging success
    story!
  • Learn what is new and changing
  • Do your own projects
  • You arent going to know jack if you dont play
  • Make mistakes and get pissed at yourself then
    learn from your errors
  • Find an OpenSource project and extend it
    (WordPress for example!)
  • Do someone elses projects
  • If you cant come up with your own ideas, join a
    SourceForge project that interests you

20
More Specifically
  • Become great at database design
  • Pick a language and become an expert
  • Learn to optimize your database
  • Learn to optimize your code
  • Like what you do and prove it by doing something
  • Oh, and if Web Applications are your thing, learn
    JavaScript in depth

21
The end.
Write a Comment
User Comments (0)
About PowerShow.com