On all the SQL database schemas, the data is normalized. However, I realize most people don't want to write a lot of JOINs just to get to what they want, and so there is scriptures
VIEW that runs the query for you to return a non-normalized result set.
Each database is different, but for the sake of simplicity, here's the schema for some:
CREATE VIEW scriptures AS SELECT volumes.id AS volume_id, books.id AS book_id, chapters.id AS chapter_id, verses.id AS verse_id, volumes.volume_title, books.book_title, volumes.volume_long_title, books.book_long_title, volumes.volume_subtitle, books.book_subtitle, volumes.volume_short_title, books.book_short_title, volumes.volume_lds_url, books.book_lds_url, chapters.chapter_number, verses.verse_number, verses.scripture_text, concat(books.book_title, ' ', chapters.chapter_number, ':', verses.verse_number) AS verse_title, concat(books.book_short_title, ' ', chapters.chapter_number, ':', verses.verse_number) AS verse_short_title FROM (((volumes JOIN books ON ((books.volume_id = volumes.id))) JOIN chapters ON ((chapters.book_id = books.id))) JOIN verses ON ((verses.chapter_id = chapters.id))) ORDER BY volumes.id, books.id, chapters.id, verses.id;
CREATE VIEW scriptures AS SELECT volumes.id AS volume_id, books.id AS book_id, chapters.id AS chapter_id, verses.id AS verse_id, volume_title, book_title, volume_long_title, book_long_title, volume_subtitle, book_subtitle, volume_short_title, book_short_title, volume_lds_url, book_lds_url, chapter_number, verse_number, scripture_text, book_title || ' ' || chapter_number || ':' || verse_number AS verse_title, book_short_title || ' ' || chapter_number || ':' || verse_number AS verse_short_title FROM volumes INNER JOIN books ON books.volume_id = volumes.id INNER JOIN chapters ON chapters.book_id = books.id INNER JOIN verses ON verses.chapter_id = chapters.id ORDER BY volumes.id, books.id, chapters.id, verses.id;
To make a clean illustration of the format, here's running a query on the SQLite database printing each column one per line:
sqlite> .mode line sqlite> SELECT * FROM scriptures WHERE verse_title = '1 Nephi 1:1'; volume_id = 3 book_id = 67 chapter_id = 1190 verse_id = 31103 volume_title = Book of Mormon book_title = 1 Nephi volume_long_title = The Book of Mormon book_long_title = The First Book of Nephi volume_subtitle = Another Testament of Jesus Christ book_subtitle = His Reign and Ministry volume_short_title = BoM book_short_title = 1 Ne. volume_lds_url = bm book_lds_url = 1-ne chapter_number = 1 verse_number = 1 scripture_text = I, Nephi, having been born of goodly parents, therefore I was taught somewhat in all the learning of my father; and having seen many afflictions in the course of my days, nevertheless, having been highly favored of the Lord in all my days; yea, having had a great knowledge of the goodness and the mysteries of God, therefore I make a record of my proceedings in my days. verse_title = 1 Nephi 1:1 verse_short_title = 1 Ne. 1:1