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)

Dreamweaver_Abhijit
Dreamweaver_AbhijitDreamweaver_Abhijit
Dreamweaver_Abhijit
abhijit_kumar93
 
Mla part i
Mla part iMla part i
Mla part i
dcorriher
 
Best Web design training in bangladesh
Best Web design training in bangladeshBest Web design training in bangladesh
Best Web design training in bangladesh
Universal It Institute
 
HTML5 - My First Webpage
HTML5 - My First Webpage HTML5 - My First Webpage
HTML5 - My First Webpage
Grayzon Gonzales, LPT
 
Ffcchtml
FfcchtmlFfcchtml
Ffcchtml
Shannon Gallagher
 
Tf fcchc
Tf fcchcTf fcchc
Tf fcchc
Shannon Gallagher
 
Artistic Web Applications - Week3 - Part 3
Artistic Web Applications - Week3 - Part 3Artistic Web Applications - Week3 - Part 3
Artistic Web Applications - Week3 - Part 3
Katherine McCurdy-Lapierre, R.G.D.
 
Html Lesson01
Html Lesson01Html Lesson01
Html Lesson01
jhessabar
 
14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance
In a Rocket
 
What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)
Ahsan Rahim
 
HTML5- Create divisions in a web page
HTML5- Create divisions in a web pageHTML5- Create divisions in a web page
HTML5- Create divisions in a web page
Grayzon Gonzales, LPT
 
How to Improve the SharePoint UI Using Bootstrap 3
How to Improve the SharePoint UI Using Bootstrap 3How to Improve the SharePoint UI Using Bootstrap 3
How to Improve the SharePoint UI Using Bootstrap 3
Ryan McIntyre
 
10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements
In a Rocket
 
Advanced dreamweaver
Advanced dreamweaverAdvanced dreamweaver
Advanced dreamweaver
Ashish Srivastava
 
Word Processing Slideshow
Word Processing SlideshowWord Processing Slideshow
Word Processing Slideshow
brysone5099
 
10x10 presentation Edited 4
10x10 presentation Edited 410x10 presentation Edited 4
10x10 presentation Edited 4
Samabamma
 
The beauty behind ebooks: CSS - ebookcraft 2015 - Iris Febres
The beauty behind ebooks: CSS - ebookcraft 2015 - Iris FebresThe beauty behind ebooks: CSS - ebookcraft 2015 - Iris Febres
The beauty behind ebooks: CSS - ebookcraft 2015 - Iris Febres
BookNet Canada
 
Web1O1 - Intro to HTML/CSS
Web1O1 - Intro to HTML/CSSWeb1O1 - Intro to HTML/CSS
Web1O1 - Intro to HTML/CSS
NYCSS Meetup
 
Week 5 Lecture
Week 5 LectureWeek 5 Lecture
Week 5 Lecture
Katherine McCurdy-Lapierre, R.G.D.
 
Google guide - Make searching even easier
Google guide - Make searching even easierGoogle guide - Make searching even easier
Google guide - Make searching even easier
Kuyseng Chhoeun
 
Best Web design training in bangladesh
Best Web design training in bangladeshBest Web design training in bangladesh
Best Web design training in bangladesh
Universal It Institute
 
Html Lesson01
Html Lesson01Html Lesson01
Html Lesson01
jhessabar
 
14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance
In a Rocket
 
What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)
Ahsan Rahim
 
HTML5- Create divisions in a web page
HTML5- Create divisions in a web pageHTML5- Create divisions in a web page
HTML5- Create divisions in a web page
Grayzon Gonzales, LPT
 
How to Improve the SharePoint UI Using Bootstrap 3
How to Improve the SharePoint UI Using Bootstrap 3How to Improve the SharePoint UI Using Bootstrap 3
How to Improve the SharePoint UI Using Bootstrap 3
Ryan McIntyre
 
10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements
In a Rocket
 
Word Processing Slideshow
Word Processing SlideshowWord Processing Slideshow
Word Processing Slideshow
brysone5099
 
10x10 presentation Edited 4
10x10 presentation Edited 410x10 presentation Edited 4
10x10 presentation Edited 4
Samabamma
 
The beauty behind ebooks: CSS - ebookcraft 2015 - Iris Febres
The beauty behind ebooks: CSS - ebookcraft 2015 - Iris FebresThe beauty behind ebooks: CSS - ebookcraft 2015 - Iris Febres
The beauty behind ebooks: CSS - ebookcraft 2015 - Iris Febres
BookNet Canada
 
Web1O1 - Intro to HTML/CSS
Web1O1 - Intro to HTML/CSSWeb1O1 - Intro to HTML/CSS
Web1O1 - Intro to HTML/CSS
NYCSS Meetup
 
Google guide - Make searching even easier
Google guide - Make searching even easierGoogle guide - Make searching even easier
Google guide - Make searching even easier
Kuyseng Chhoeun
 

Viewers also liked (20)

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
 
5 data storage_and_indexing
5 data storage_and_indexing5 data storage_and_indexing
5 data storage_and_indexing
Utkarsh De
 
Normalization
NormalizationNormalization
Normalization
Randy Riness @ South Puget Sound Community College
 
6 relational schema_design
6 relational schema_design6 relational schema_design
6 relational schema_design
Utkarsh De
 
Managing your tech career
Managing your tech careerManaging your tech career
Managing your tech career
Greg Jensen
 
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
 
Webinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting StartedWebinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting Started
MongoDB
 
3 relational model
3 relational model3 relational model
3 relational model
Utkarsh De
 
MySQL Replication: Pros and Cons
MySQL Replication: Pros and ConsMySQL Replication: Pros and Cons
MySQL Replication: Pros and Cons
Rachel Li
 
Distributed Postgres
Distributed PostgresDistributed Postgres
Distributed Postgres
Stas Kelvich
 
Week3 Lecture Database Design
Week3 Lecture Database DesignWeek3 Lecture Database Design
Week3 Lecture Database Design
Kevin Element
 
Database Design
Database DesignDatabase Design
Database Design
learnt
 
2 entity relationship_model
2 entity relationship_model2 entity relationship_model
2 entity relationship_model
Utkarsh De
 
English gcse final tips
English gcse final tipsEnglish gcse final tips
English gcse final tips
mrhoward12
 
Postgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL ClusterPostgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL Cluster
Mason Sharp
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Matheus Espanhol
 
Database design concept
Database design conceptDatabase design concept
Database design concept
Shashwat Shriparv
 
Database design
Database designDatabase design
Database design
FLYMAN TECHNOLOGY LIMITED
 
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
 
5 data storage_and_indexing
5 data storage_and_indexing5 data storage_and_indexing
5 data storage_and_indexing
Utkarsh De
 
6 relational schema_design
6 relational schema_design6 relational schema_design
6 relational schema_design
Utkarsh De
 
Managing your tech career
Managing your tech careerManaging your tech career
Managing your tech career
Greg Jensen
 
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
 
Webinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting StartedWebinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting Started
MongoDB
 
3 relational model
3 relational model3 relational model
3 relational model
Utkarsh De
 
MySQL Replication: Pros and Cons
MySQL Replication: Pros and ConsMySQL Replication: Pros and Cons
MySQL Replication: Pros and Cons
Rachel Li
 
Distributed Postgres
Distributed PostgresDistributed Postgres
Distributed Postgres
Stas Kelvich
 
Week3 Lecture Database Design
Week3 Lecture Database DesignWeek3 Lecture Database Design
Week3 Lecture Database Design
Kevin Element
 
Database Design
Database DesignDatabase Design
Database Design
learnt
 
2 entity relationship_model
2 entity relationship_model2 entity relationship_model
2 entity relationship_model
Utkarsh De
 
English gcse final tips
English gcse final tipsEnglish gcse final tips
English gcse final tips
mrhoward12
 
Postgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL ClusterPostgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL Cluster
Mason Sharp
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Matheus Espanhol
 
Database Schema
Database SchemaDatabase Schema
Database Schema
Jimmy Chu
 
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)

UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
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
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdfAutomate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Precisely
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
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
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
Does Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should KnowDoes Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should Know
Pornify CC
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Mike Mingos
 
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
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
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
 
The Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdfThe Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdf
YvonneRoseEranista
 
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptxWebinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
MSP360
 
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
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
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
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdfAutomate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Precisely
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
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
 
Does Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should KnowDoes Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should Know
Pornify CC
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Mike Mingos
 
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
 
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
 
The Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdfThe Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdf
YvonneRoseEranista
 
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptxWebinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
MSP360
 
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
 

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…
  翻译: