Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 134741
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T06:40:06+00:00 2026-05-11T06:40:06+00:00

The first normal form says that row ordering should not matter. Does this mean

  • 0

The first normal form says that row ordering should not matter. Does this mean that a table with date as part of the key is not 1NF? e.g. Consider a table of ticker prices where date/time is part of the PK. In this case, you get the last price by ordering the data by date and selecting the top 1 row. Does this mean that for to fulfill 1NF you need to split the table into: 1) TickerCurrentPrice (1 row per ticker) 2) TickerHistoricalPrice Thanks

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T06:40:06+00:00Added an answer on May 11, 2026 at 6:40 am

    1NF is aspect of a table representing a relation, not of a table as such.

    If your relation says ticket HAS price, that it’s a 1NF violation, as you cannot determine if a ticket HAS or HAS NOT the price by looking on a single record. You’ll need to fetch all prices on this ticket and select last of them, which violates the non-ordering rule of the 1NF.

    If your relation says ticket HAD BEGUN TO COST price ON date, then it’s in the 1NF all right, because each record says what it says: this ticket costs this price from this date.

    Thus, we say that this table does not comply with the 1NF when representing the first relation, but does comply when representing the second one.

    The table itself remains the same, of course.

    It doesn’t necessary mean though that you need to split your tables.

    The whole point of relational databases is that you can use relational operators to convert one relation to another.

    What is a relation in terms of the RDBMS? It’s a table showing all combinations of all possible values that are in this relation between theirselves.

    For instance, if we need to construct equality relation on natural numbers from 1 to 5, we have this table:

    1 1 2 2 3 3 4 4 5 5 

    All pairs that appear in this table are in equality relation; all pairs that don’t appear, are not. We don’t see (2, 3) here, or (4, 5), as they are not equal.

    But you don’t need to keep the whole pair in the database. You keep single values instead and write a query:

    SELECT n1.number, n2.number FROM number n1, number n2 WHERE n1.number = n2.number 

    , which gives you the same result.

    Actually, normal forms let you keep simplest possible relation tables in the database and construct more complex relations from them using SQL queries.

    In your case, if you write a query (or define a view) in the following way:

    SELECT ticket, price FROM mytable WHERE (ticket, date) IN (   SELECT ticket, MAX(date)   FROM mytable   GROUP BY     ticket   ) 

    , you get relation (ticket HAS price) from (ticket HAD BEGUN TO COST price ON date) exactly as if you were keeping the whole table in the database.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

First thing you should know is that this worked on Wednesday of last week
First let me say that I really feel directionless on this question. I am
I have this MVC form with 2 dropdownlist where selection on the first dropdown
I have two date fields that I need to join on. The first is
A SQL VIEW is a global, logical table that may or may not be
First off, there's a bit of background to this issue available on my blog:
First off, I'm working on an app that's written such that some of your
To adhere to 1st normal form, one of the things you must avoid is
I am not strong on my PHP knowledge, but I have never seen this
First of all, sorry, but my English is not very good. I'm at the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.