SlideShare a Scribd company logo
Best Practices for Database Schema Design Presenter: Kirill Dmitriev Try it free! www.ironnspeed.com/download
Etiquette Ask questions at any time via Question and Answer facility Moderator will queue them up and … …  I will read aloud and answer so everyone can hear …  in the order received This allows everyone to hear the question and is much faster We expect many questions during this webinar! Listening via computer (VOIP)? Turn up your computer’s volume! ... or put on a headset if you can’t hear …  or dial in via landline telephone if you still can’t hear
What is Covered in this Course Best Practices for Database Schema Design How Schema Design Affects Application Generation by Iron Speed Designer How to Modify Schema in Database and in Iron Speed Designer
What does Iron Speed Designer Do? ASPX pages C# and Visual Basic code-behind files Data access layer Stored procedures Iron Speed Designer builds Web applications… …  straight from your database.
To get most of Iron Speed Designer prepare your database first! Iron Speed Designer uses database schema to create pages Pages layout and functionality are driven by schema Application performance depends on your schema Properly designed schema is easy extendable To create web application with Iron Speed Designer no knowledge of code, ASPX or other .NET concepts required but knowledge of database schemas, foreign keys, and SQL is helpful
Prepare Your Database The better your database is structured…   … the more Iron Speed Designer can do You’ll get more Web pages You’ll get more sophisticated master-detail Web pages It’s easier to extend your application It’s easier to maintain your data
No repeating information: Use index tables Less fields in table – more efficient Normalize Schema
Create Child Tables for 1-to-Many Relationships Child tables are used to create Master-detail (parent-child) pages Child table examples Orders.CustomerID    Customers.CustomerID  (one customer may have many orders) OrderDetails.OrderID    Orders.OrderID  (one order may have many line items) DBAs call this ‘normalizing your database’
Create Separate Lookup Tables Lookup tables are used to create Dropdown lists for data entry Display Foreign Key As Lookup table examples Order.ShipperID    Shipper.ShipperID  (choose order shipping method: FedEx, UPS, USPS) Displays “Shipped Via FedEx”  (instead of “Shipped Via 3”)
Index! Index all Foreign keys, Primary keys and any fields you search by or filter by Full text index is not supported.
Naming conventions Use meaningful names: they are used by Iron Speed Designer to create labels Use Camel Case! Iron Speed Designer can parse names based on capitalization:  ContactID -> Contact; UserName -> User Name File name: use Companion field to specify a file name for File upload. See Designer\ConfigurationOptions.xsl Singular and Plural: helps to create proper names for pages: CategoriesTable instead of CategoryTable
Fields Data Types Using correct data type helps Designer to generate proper controls If your string field is supposed to hold not more then 20 symbols limit its length to 20 (nvarchar(20)) If your field can have only two values, use bit type Use image type for images rather than binary Use money rather than decimal for currency
Create Database Views for Complex Queries Create Database views for Multi-table joins Complex queries: distinct, not, nested queries Create via Microsoft Enterprise Manager or similar tool Designer treats database views just like database tables Database view examples Current quarter sales (query filters based on time) Paid invoices (query filters based on status field) Iron Speed Designer is not a query construction tool !
Make Database Views Updatable if Possible Designer uses updatable database views to create Add Record page Edit Record page Edit Table pages Create updatable views in your database Cannot make an updatable view in Designer View must have primary key declared in database Update ‘flows’ through the view to underlying tables Iron Speed Designer is not a query construction tool !
Declare Primary Keys in your Database Primary keys are used to create Show Record pages Edit Record pages Edit Table pages Primary key relationship examples Orders.OrderID Shipper.ShipperID Not permitted to modify your database? Create a Virtual Primary Key in Iron Speed Designer
Create Virtual Primary Keys in Designer Use VPKs if you can’t add a primary key in your database Used mostly with database views Designer uses VPKs to create Show Record, Edit Record & Edit Table pages from database views Go to: Application Wizard’s Keys step OR Databases    New Virtual Primary Key…
Declare Foreign Keys in your Database Foreign keys are used to create Master-detail (parent-child) pages Every Designer-built page can be a master-detail page! Pages with data from multiple tables (multi-table joins) Display Foreign Key As Foreign key relationship examples OrderDetails.OrderID    Orders.OrderID  Orders.ShipperID    Shipper.ShipperID Not permitted to modify your database? Create a Virtual Foreign Key in Iron Speed Designer Throw me a frickin' bone here!  I'm the boss!  Need the info!  – Dr. Evil
Create Virtual Foreign Keys in Designer Use VFKs if you can’t add a foreign key in your database Used to create Master-Detail pages & Display Foreign Key As Go to: Application Wizard’s Keys step OR Databases    New Virtual Foreign Key…
Create an Application: Application Wizard Go to: Tools    Application Wizard… OR Files    New Application…
Ad

More Related Content

What's hot (20)

Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side Rendering
Bill Wolff
 
Challenges going mobile
Challenges going mobileChallenges going mobile
Challenges going mobile
Christian Rokitta
 
Couch db
Couch dbCouch db
Couch db
Khurram Mahmood Bhatti
 
Introduction to StratusForms #SayNoToInfoPath
Introduction to StratusForms #SayNoToInfoPathIntroduction to StratusForms #SayNoToInfoPath
Introduction to StratusForms #SayNoToInfoPath
Mark Rackley
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
ADEEBANADEEM
 
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013
NCCOMMS
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014
Mark Rackley
 
05 entity framework
05 entity framework05 entity framework
05 entity framework
Bat Programmer
 
Xml
XmlXml
Xml
Kartheek Kanthu
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)
Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)
Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)
Abdul Rafay
 
SharePoint Saturday St. Louis - SharePoint & jQuery
SharePoint Saturday St. Louis - SharePoint & jQuerySharePoint Saturday St. Louis - SharePoint & jQuery
SharePoint Saturday St. Louis - SharePoint & jQuery
Mark Rackley
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
Mark Rackley
 
SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)
MJ Ferdous
 
Face/Off: APEX Templates & Themes
Face/Off: APEX Templates & ThemesFace/Off: APEX Templates & Themes
Face/Off: APEX Templates & Themes
crokitta
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
Sparkhound Inc.
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePoint
Mark Rackley
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side Rendering
Bill Wolff
 
Introduction to StratusForms #SayNoToInfoPath
Introduction to StratusForms #SayNoToInfoPathIntroduction to StratusForms #SayNoToInfoPath
Introduction to StratusForms #SayNoToInfoPath
Mark Rackley
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
ADEEBANADEEM
 
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013
NCCOMMS
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014
Mark Rackley
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)
Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)
Installing Oracle 11g and Oracle Apex 5.1 ( Easy Way To install)
Abdul Rafay
 
SharePoint Saturday St. Louis - SharePoint & jQuery
SharePoint Saturday St. Louis - SharePoint & jQuerySharePoint Saturday St. Louis - SharePoint & jQuery
SharePoint Saturday St. Louis - SharePoint & jQuery
Mark Rackley
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
Mark Rackley
 
SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)
MJ Ferdous
 
Face/Off: APEX Templates & Themes
Face/Off: APEX Templates & ThemesFace/Off: APEX Templates & Themes
Face/Off: APEX Templates & Themes
crokitta
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
Sparkhound Inc.
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePoint
Mark Rackley
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 

Viewers also liked (20)

Database Schema
Database SchemaDatabase Schema
Database Schema
Jimmy Chu
 
Database schema
Database schemaDatabase schema
Database schema
Mahmoud Almadhoun
 
Best Practices for Database Schema Design
Best Practices for Database Schema DesignBest Practices for Database Schema Design
Best Practices for Database Schema Design
Iron Speed
 
نظم ادارة قواعد البيانات (1) محاضرة
نظم ادارة قواعد البيانات (1) محاضرةنظم ادارة قواعد البيانات (1) محاضرة
نظم ادارة قواعد البيانات (1) محاضرة
Huda Farhan
 
Manga Influence
Manga InfluenceManga Influence
Manga Influence
YagoRocha
 
Design of databases
Design of databasesDesign of databases
Design of databases
Hava91
 
Database schema handbook for cisco unified icm contact center enterprise & ho...
Database schema handbook for cisco unified icm contact center enterprise & ho...Database schema handbook for cisco unified icm contact center enterprise & ho...
Database schema handbook for cisco unified icm contact center enterprise & ho...
Bashar Hasan
 
Oracle Database In-Memory
Oracle Database In-MemoryOracle Database In-Memory
Oracle Database In-Memory
Trivadis
 
Designing for Performance: Database Related Worst Practices
Designing for Performance: Database Related Worst PracticesDesigning for Performance: Database Related Worst Practices
Designing for Performance: Database Related Worst Practices
Christian Antognini
 
Database application and design
Database application and designDatabase application and design
Database application and design
sieedah
 
FleetDB: A Schema-Free Database in Clojure
FleetDB: A Schema-Free Database in ClojureFleetDB: A Schema-Free Database in Clojure
FleetDB: A Schema-Free Database in Clojure
Mark McGranaghan
 
Download White Paper : CMDB Implementations - A Tale of Two Extremes
Download White Paper : CMDB Implementations - A Tale of Two ExtremesDownload White Paper : CMDB Implementations - A Tale of Two Extremes
Download White Paper : CMDB Implementations - A Tale of Two Extremes
ServiceDesk Plus
 
CMDB Basics
CMDB BasicsCMDB Basics
CMDB Basics
Quest Software
 
Generating Code with Oracle SQL Developer Data Modeler
Generating Code with Oracle SQL Developer Data ModelerGenerating Code with Oracle SQL Developer Data Modeler
Generating Code with Oracle SQL Developer Data Modeler
Rob van den Berg
 
Distributed database system
Distributed database systemDistributed database system
Distributed database system
M. Ahmad Mahmood
 
Building a devops CMDB
Building a devops CMDBBuilding a devops CMDB
Building a devops CMDB
Jaime Valero de Bernabé
 
Schema Design with MongoDB
Schema Design with MongoDBSchema Design with MongoDB
Schema Design with MongoDB
rogerbodamer
 
1 introduction
1 introduction1 introduction
1 introduction
Utkarsh De
 
4 the sql_standard
4 the  sql_standard4 the  sql_standard
4 the sql_standard
Utkarsh De
 
5 data storage_and_indexing
5 data storage_and_indexing5 data storage_and_indexing
5 data storage_and_indexing
Utkarsh De
 
Database Schema
Database SchemaDatabase Schema
Database Schema
Jimmy Chu
 
Best Practices for Database Schema Design
Best Practices for Database Schema DesignBest Practices for Database Schema Design
Best Practices for Database Schema Design
Iron Speed
 
نظم ادارة قواعد البيانات (1) محاضرة
نظم ادارة قواعد البيانات (1) محاضرةنظم ادارة قواعد البيانات (1) محاضرة
نظم ادارة قواعد البيانات (1) محاضرة
Huda Farhan
 
Manga Influence
Manga InfluenceManga Influence
Manga Influence
YagoRocha
 
Design of databases
Design of databasesDesign of databases
Design of databases
Hava91
 
Database schema handbook for cisco unified icm contact center enterprise & ho...
Database schema handbook for cisco unified icm contact center enterprise & ho...Database schema handbook for cisco unified icm contact center enterprise & ho...
Database schema handbook for cisco unified icm contact center enterprise & ho...
Bashar Hasan
 
Oracle Database In-Memory
Oracle Database In-MemoryOracle Database In-Memory
Oracle Database In-Memory
Trivadis
 
Designing for Performance: Database Related Worst Practices
Designing for Performance: Database Related Worst PracticesDesigning for Performance: Database Related Worst Practices
Designing for Performance: Database Related Worst Practices
Christian Antognini
 
Database application and design
Database application and designDatabase application and design
Database application and design
sieedah
 
FleetDB: A Schema-Free Database in Clojure
FleetDB: A Schema-Free Database in ClojureFleetDB: A Schema-Free Database in Clojure
FleetDB: A Schema-Free Database in Clojure
Mark McGranaghan
 
Download White Paper : CMDB Implementations - A Tale of Two Extremes
Download White Paper : CMDB Implementations - A Tale of Two ExtremesDownload White Paper : CMDB Implementations - A Tale of Two Extremes
Download White Paper : CMDB Implementations - A Tale of Two Extremes
ServiceDesk Plus
 
Generating Code with Oracle SQL Developer Data Modeler
Generating Code with Oracle SQL Developer Data ModelerGenerating Code with Oracle SQL Developer Data Modeler
Generating Code with Oracle SQL Developer Data Modeler
Rob van den Berg
 
Distributed database system
Distributed database systemDistributed database system
Distributed database system
M. Ahmad Mahmood
 
Schema Design with MongoDB
Schema Design with MongoDBSchema Design with MongoDB
Schema Design with MongoDB
rogerbodamer
 
1 introduction
1 introduction1 introduction
1 introduction
Utkarsh De
 
4 the sql_standard
4 the  sql_standard4 the  sql_standard
4 the sql_standard
Utkarsh De
 
5 data storage_and_indexing
5 data storage_and_indexing5 data storage_and_indexing
5 data storage_and_indexing
Utkarsh De
 
Ad

Similar to Best Practices for Database Schema Design (20)

Building a CRM Application
Building a CRM ApplicationBuilding a CRM Application
Building a CRM Application
Iron Speed
 
Get a Little Help with Your Help Desk Application
Get a Little Help with Your Help Desk ApplicationGet a Little Help with Your Help Desk Application
Get a Little Help with Your Help Desk Application
Iron Speed
 
Getting Started with Iron Speed Designer
Getting Started with Iron Speed DesignerGetting Started with Iron Speed Designer
Getting Started with Iron Speed Designer
Iron Speed
 
Access
AccessAccess
Access
Norazrena Abu Samah
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
José Angel Ibarra Espinosa
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
Dave Bost
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
Dave Bost
 
Lecture 6 Data Driven Design
Lecture 6  Data Driven DesignLecture 6  Data Driven Design
Lecture 6 Data Driven Design
Sur College of Applied Sciences
 
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki FinalndPractical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Ivan Sanders
 
Demo: Iron Speed Designer Version 8.0 Released
Demo: Iron Speed Designer Version 8.0 ReleasedDemo: Iron Speed Designer Version 8.0 Released
Demo: Iron Speed Designer Version 8.0 Released
Iron Speed
 
Practical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - HonoluluPractical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - Honolulu
Ivan Sanders
 
Style Intelligence Evaluation Documentation
Style Intelligence Evaluation DocumentationStyle Intelligence Evaluation Documentation
Style Intelligence Evaluation Documentation
ArleneWatson
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
Iblesoft
 
Web Design and Programming
Web Design and ProgrammingWeb Design and Programming
Web Design and Programming
george.james
 
How to build a data dictionary
How to build a data dictionaryHow to build a data dictionary
How to build a data dictionary
Piotr Kononow
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sites
IWMW
 
12363 database certification
12363 database certification12363 database certification
12363 database certification
Universitas Bina Darma Palembang
 
Getting the Most out of Data Page and Rich Data Definition in Portlet Factory
Getting the Most out of Data Page and Rich Data Definition in Portlet FactoryGetting the Most out of Data Page and Rich Data Definition in Portlet Factory
Getting the Most out of Data Page and Rich Data Definition in Portlet Factory
Davalen LLC
 
Introduction to database with ms access(DBMS)
Introduction to database with ms access(DBMS)Introduction to database with ms access(DBMS)
Introduction to database with ms access(DBMS)
07HetviBhagat
 
Introduction to database with ms access.hetvii
Introduction to database with ms access.hetviiIntroduction to database with ms access.hetvii
Introduction to database with ms access.hetvii
07HetviBhagat
 
Building a CRM Application
Building a CRM ApplicationBuilding a CRM Application
Building a CRM Application
Iron Speed
 
Get a Little Help with Your Help Desk Application
Get a Little Help with Your Help Desk ApplicationGet a Little Help with Your Help Desk Application
Get a Little Help with Your Help Desk Application
Iron Speed
 
Getting Started with Iron Speed Designer
Getting Started with Iron Speed DesignerGetting Started with Iron Speed Designer
Getting Started with Iron Speed Designer
Iron Speed
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
Dave Bost
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
Dave Bost
 
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki FinalndPractical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Ivan Sanders
 
Demo: Iron Speed Designer Version 8.0 Released
Demo: Iron Speed Designer Version 8.0 ReleasedDemo: Iron Speed Designer Version 8.0 Released
Demo: Iron Speed Designer Version 8.0 Released
Iron Speed
 
Practical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - HonoluluPractical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - Honolulu
Ivan Sanders
 
Style Intelligence Evaluation Documentation
Style Intelligence Evaluation DocumentationStyle Intelligence Evaluation Documentation
Style Intelligence Evaluation Documentation
ArleneWatson
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
Iblesoft
 
Web Design and Programming
Web Design and ProgrammingWeb Design and Programming
Web Design and Programming
george.james
 
How to build a data dictionary
How to build a data dictionaryHow to build a data dictionary
How to build a data dictionary
Piotr Kononow
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sites
IWMW
 
Getting the Most out of Data Page and Rich Data Definition in Portlet Factory
Getting the Most out of Data Page and Rich Data Definition in Portlet FactoryGetting the Most out of Data Page and Rich Data Definition in Portlet Factory
Getting the Most out of Data Page and Rich Data Definition in Portlet Factory
Davalen LLC
 
Introduction to database with ms access(DBMS)
Introduction to database with ms access(DBMS)Introduction to database with ms access(DBMS)
Introduction to database with ms access(DBMS)
07HetviBhagat
 
Introduction to database with ms access.hetvii
Introduction to database with ms access.hetviiIntroduction to database with ms access.hetvii
Introduction to database with ms access.hetvii
07HetviBhagat
 
Ad

More from Iron Speed (7)

Build Database Applications for SharePoint!
Build Database Applications for SharePoint!Build Database Applications for SharePoint!
Build Database Applications for SharePoint!
Iron Speed
 
Build Database Applications for SharePoint
Build Database Applications for SharePointBuild Database Applications for SharePoint
Build Database Applications for SharePoint
Iron Speed
 
Build .NET Applications with Reporting and Dashboard
Build .NET Applications with Reporting and DashboardBuild .NET Applications with Reporting and Dashboard
Build .NET Applications with Reporting and Dashboard
Iron Speed
 
Onshore Software Development At Offshore Prices
Onshore Software Development At Offshore PricesOnshore Software Development At Offshore Prices
Onshore Software Development At Offshore Prices
Iron Speed
 
SharePoint Meets Database
SharePoint Meets DatabaseSharePoint Meets Database
SharePoint Meets Database
Iron Speed
 
Securing Your .NET Application
Securing Your .NET ApplicationSecuring Your .NET Application
Securing Your .NET Application
Iron Speed
 
Iron Speed Designer Fact Sheet
Iron Speed Designer Fact SheetIron Speed Designer Fact Sheet
Iron Speed Designer Fact Sheet
Iron Speed
 
Build Database Applications for SharePoint!
Build Database Applications for SharePoint!Build Database Applications for SharePoint!
Build Database Applications for SharePoint!
Iron Speed
 
Build Database Applications for SharePoint
Build Database Applications for SharePointBuild Database Applications for SharePoint
Build Database Applications for SharePoint
Iron Speed
 
Build .NET Applications with Reporting and Dashboard
Build .NET Applications with Reporting and DashboardBuild .NET Applications with Reporting and Dashboard
Build .NET Applications with Reporting and Dashboard
Iron Speed
 
Onshore Software Development At Offshore Prices
Onshore Software Development At Offshore PricesOnshore Software Development At Offshore Prices
Onshore Software Development At Offshore Prices
Iron Speed
 
SharePoint Meets Database
SharePoint Meets DatabaseSharePoint Meets Database
SharePoint Meets Database
Iron Speed
 
Securing Your .NET Application
Securing Your .NET ApplicationSecuring Your .NET Application
Securing Your .NET Application
Iron Speed
 
Iron Speed Designer Fact Sheet
Iron Speed Designer Fact SheetIron Speed Designer Fact Sheet
Iron Speed Designer Fact Sheet
Iron Speed
 

Recently uploaded (20)

Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
CSUC - Consorci de Serveis Universitaris de Catalunya
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Financial Services Technology Summit 2025
Financial Services Technology Summit 2025Financial Services Technology Summit 2025
Financial Services Technology Summit 2025
Ray Bugg
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of ExchangesJignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah Innovator
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Financial Services Technology Summit 2025
Financial Services Technology Summit 2025Financial Services Technology Summit 2025
Financial Services Technology Summit 2025
Ray Bugg
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of ExchangesJignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah Innovator
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 

Best Practices for Database Schema Design

  • 1. Best Practices for Database Schema Design Presenter: Kirill Dmitriev Try it free! www.ironnspeed.com/download
  • 2. Etiquette Ask questions at any time via Question and Answer facility Moderator will queue them up and … … I will read aloud and answer so everyone can hear … in the order received This allows everyone to hear the question and is much faster We expect many questions during this webinar! Listening via computer (VOIP)? Turn up your computer’s volume! ... or put on a headset if you can’t hear … or dial in via landline telephone if you still can’t hear
  • 3. What is Covered in this Course Best Practices for Database Schema Design How Schema Design Affects Application Generation by Iron Speed Designer How to Modify Schema in Database and in Iron Speed Designer
  • 4. What does Iron Speed Designer Do? ASPX pages C# and Visual Basic code-behind files Data access layer Stored procedures Iron Speed Designer builds Web applications… … straight from your database.
  • 5. To get most of Iron Speed Designer prepare your database first! Iron Speed Designer uses database schema to create pages Pages layout and functionality are driven by schema Application performance depends on your schema Properly designed schema is easy extendable To create web application with Iron Speed Designer no knowledge of code, ASPX or other .NET concepts required but knowledge of database schemas, foreign keys, and SQL is helpful
  • 6. Prepare Your Database The better your database is structured… … the more Iron Speed Designer can do You’ll get more Web pages You’ll get more sophisticated master-detail Web pages It’s easier to extend your application It’s easier to maintain your data
  • 7. No repeating information: Use index tables Less fields in table – more efficient Normalize Schema
  • 8. Create Child Tables for 1-to-Many Relationships Child tables are used to create Master-detail (parent-child) pages Child table examples Orders.CustomerID  Customers.CustomerID (one customer may have many orders) OrderDetails.OrderID  Orders.OrderID (one order may have many line items) DBAs call this ‘normalizing your database’
  • 9. Create Separate Lookup Tables Lookup tables are used to create Dropdown lists for data entry Display Foreign Key As Lookup table examples Order.ShipperID  Shipper.ShipperID (choose order shipping method: FedEx, UPS, USPS) Displays “Shipped Via FedEx” (instead of “Shipped Via 3”)
  • 10. Index! Index all Foreign keys, Primary keys and any fields you search by or filter by Full text index is not supported.
  • 11. Naming conventions Use meaningful names: they are used by Iron Speed Designer to create labels Use Camel Case! Iron Speed Designer can parse names based on capitalization: ContactID -> Contact; UserName -> User Name File name: use Companion field to specify a file name for File upload. See Designer\ConfigurationOptions.xsl Singular and Plural: helps to create proper names for pages: CategoriesTable instead of CategoryTable
  • 12. Fields Data Types Using correct data type helps Designer to generate proper controls If your string field is supposed to hold not more then 20 symbols limit its length to 20 (nvarchar(20)) If your field can have only two values, use bit type Use image type for images rather than binary Use money rather than decimal for currency
  • 13. Create Database Views for Complex Queries Create Database views for Multi-table joins Complex queries: distinct, not, nested queries Create via Microsoft Enterprise Manager or similar tool Designer treats database views just like database tables Database view examples Current quarter sales (query filters based on time) Paid invoices (query filters based on status field) Iron Speed Designer is not a query construction tool !
  • 14. Make Database Views Updatable if Possible Designer uses updatable database views to create Add Record page Edit Record page Edit Table pages Create updatable views in your database Cannot make an updatable view in Designer View must have primary key declared in database Update ‘flows’ through the view to underlying tables Iron Speed Designer is not a query construction tool !
  • 15. Declare Primary Keys in your Database Primary keys are used to create Show Record pages Edit Record pages Edit Table pages Primary key relationship examples Orders.OrderID Shipper.ShipperID Not permitted to modify your database? Create a Virtual Primary Key in Iron Speed Designer
  • 16. Create Virtual Primary Keys in Designer Use VPKs if you can’t add a primary key in your database Used mostly with database views Designer uses VPKs to create Show Record, Edit Record & Edit Table pages from database views Go to: Application Wizard’s Keys step OR Databases  New Virtual Primary Key…
  • 17. Declare Foreign Keys in your Database Foreign keys are used to create Master-detail (parent-child) pages Every Designer-built page can be a master-detail page! Pages with data from multiple tables (multi-table joins) Display Foreign Key As Foreign key relationship examples OrderDetails.OrderID  Orders.OrderID Orders.ShipperID  Shipper.ShipperID Not permitted to modify your database? Create a Virtual Foreign Key in Iron Speed Designer Throw me a frickin' bone here!  I'm the boss!  Need the info! – Dr. Evil
  • 18. Create Virtual Foreign Keys in Designer Use VFKs if you can’t add a foreign key in your database Used to create Master-Detail pages & Display Foreign Key As Go to: Application Wizard’s Keys step OR Databases  New Virtual Foreign Key…
  • 19. Create an Application: Application Wizard Go to: Tools  Application Wizard… OR Files  New Application…
  翻译: