Saturday, May 20, 2017

This Week

1. Database Truth of the Week

"If the physical model does not preserve the properties of the logical model, then it is—by definition—incorrect. That is why the physical model must be derived from the logical model, not the other way around." --David McGoveran

2. What's Wrong With This Database Picture?

"If we step back and look at what RDBMS is, we’ll no doubt be able to conclude that, as its name suggests (i.e. Relational Database Management System), it is a system that specializes in managing the data in a relational fashion. Nothing more. Folks, it’s important to keep in mind that it manages the data, not the MEANING of the data! And if you really need a parallel, RDBMS is much more akin to a word processor than to an operating system. A word processor (such as the much maligned MS Word, or a much nicer WordPress, for example) specializes in managing words. It does not specialize in managing the meaning of the words ... So who is then responsible for managing the meaning of the words? It’s the author, who else? Why should we tolerate RDBMS opinions on our data? We’re the masters, RDBMS is the servant, it should shut up and serve. End of discussion." --Alex Bunardzic, Should Database Manage The Meaning? 

Saturday, May 13, 2017

To Really Understand Integrity, Don't Start with SQL

Here's what's wrong with the picture of two weeks ago, namely:
"Constraints are categorized as follows:
  • Domain integrity Constraints
  • Entity integrity Constraints
  • Referential integrity Constraints
  • Not null
  • Unique
  • Foreign key
  • Check
  • Primary key
Constraints are always attached to a column not a table."
--Dayakar, SQL Constraints
Despite being a critical database function, integrity is insufficiently understood and appreciated. Few practitioners know much beyond just awareness of primary key and referential constraints and question even their necessity.

SQL is one of the inhibitors, so if you want to really understand integrity, don't start with SQL. Instead, educate yourself on relational integrity and put your SQL DBMS's features in that context--how correctly and completely does it support all the necessary constraints? Then you can (1) make sure that the constraints that it does support are enforced and (2) be aware of those that it does not, the potential risks thereof and the defensive actions to be taken, if necessary. A bonus is that you will finally realize one of the many important differences between SQL DBMSs and a true RDBMS, which are confused in the industry[1]

Sunday, May 7, 2017

This Week Special: The US Sinking Deeper Into the Dark Ages

"...having nothing in them of the feelings or principles of ’76 now look to a single and splendid government of an Aristocracy, founded on banking institutions and monied incorporations under the guise and cloak of their favored branches of manufactures commerce and navigation [add technology], riding and ruling over the plundered ploughman and beggared yeomanry." --Thomas Jefferson

The first Donald Trump who comes along is all it takes to dismantle 200 years of American vaunted democracy and whatever little civilization was there by executive order. The "indestructible" system of checks and balances is collapsing like a house of cards. 

A nation that substitutes job training--if anything--for education, religion for reason and unbounded greed for morality regresses to the dark ages and self destructs.

The government has been taken over by a bunch of sociopathic (some also psychopathic) multi-billionaires who, in cahoots with utterly corrupt politicians in their pocket, have been exploiting and robbing the public blind for decades. Now they are obsessed with taking away even the pittance of basic healthcare from the weakest segments of the public--while redistributing obscene wealth to themselves and spending millions in public funds on personal security and preparing refuges
in fear of those whom they oppress. Even academia is in on it. This is no longer a society, let alone a civilized one. Watch its demise.
"The American Health Care Act, which the House of Representatives passed Thursday afternoon, is a cruel bill, one that seems exquisitely designed to afflict the afflicted, comfort the comfortable, punish the sick, immiserate the poor, and move the United States—nearly alone among advanced countries without universal insurance—further away from a morally defensible health-care system."
--The Ultimate Reverse Robin Hood: If AHCA becomes law, average households will lose money and millionaires would get a windfall

"The AHCA, even by conservative think-tank calculations, will leave many low-income and sick people without insurance they can afford, and does so even as it makes health-care work better for healthy people. Brooks’s explanation, and his close association of morality and health, with the idea that “good lives” produce good health, is just a recasting of the prosperity gospel. What’s a religious philosophy mostly pioneered by wealthy televangelists and megachurches got to do with pre-existing conditions and Medicaid reform?"
--The American Health Care Act's Prosperity Gospel

"Conspicuously absent from President Trump’s celebration of Obamacare repeal passing the House was any mention of the people and constituencies it might benefit."
--Are Americans 'Sick and Tired of Winning' Yet?

"For the bottom 60 percent of the population — that is, households earning less than about $67,000 a year — full repeal of the ACA would end up meaning an increase in taxes due to the loss of ACA tax credits. (Under the Republican bill Congress is considering, the tax credits aren’t totally eliminated — but they’re no longer designed to give the most money to the poorest Americans, so it’s likely that at least some of the poorest Americans would see their taxes go up.)

But people in the top 1 percent of the income distribution — those with incomes of over about $430,000 — would see their taxes fall by an average of $25,000 a year.

And for the true elite in the top 0.1 percent — people like designated White House senior adviser Jared Kushner, Treasury Secretary Steve Mnuchin, Education Secretary Betsy DeVos, Commerce Secretary Wilbur Ross, and many major campaign donors — the tax cut is truly enormous. Households with incomes of more than $1.9 million would get an extra $165,000 a year in take-home pay under full repeal. That’s obviously more than enough money to make these hyper-elite families come out ahead regardless of what happens to health insurance markets."
--Repeal cuts taxes for millionaires, even if millions lose insurance

"Congress members and their staff, however, are so far still exempt from any changes."
--The Republicans’ amended health-care law could be devastating for four big groups of Americans

"Many experts believe the bill will result in millions losing their health insurance coverage. The CBO reported that the earlier draft of the bill would have led 24 million more Americans to find themselves uninsured by 2026. As written, the AHCA would also cut taxes for wealthy Americans and could weaken benefits for the 49% of Americans who receive health insurance from their employers. The House’s version could also end up hurting people with pre-existing conditions."
--The US House of Representatives has voted to make cancer patients pay up to $140,000 a year for “insurance”

"Appearing on “Morning Joe” on Friday morning, Representative Steve Scalise of Louisiana didn’t flinch when host Willie Geist asked him a direct question about what would happen if the American Health Care Act—which the House narrowly approved a day earlier—became law.

"So everyone with a pre-existing condition right now who is covered under Obamacare will continue to have coverage?” he asked the congressman, who as House majority whip is the third-ranking Republican in the chamber.

“Absolutely,” Scalise replied.

“Everyone?” Geist pressed him.

“Everyone,” Scalise confirmed.

From off camera, Mika Brzezinski let out a sound that was somewhere between a groan and a gasp."

--From making unrealistic promises to striking back-room deals, the GOP is repeating the same mistakes in trying to repeal Obamacare that they criticized when it was enacted

"Idaho congressman Raul Labrador is facing the ire of his constituents over his vote in favor of the Republican health care bill this week. During a Friday morning town hall, Labrador refuted a voter’s claim that losing health insurance is a death sentence. “That line is so indefensible,” Labrador said. “Nobody dies because they don’t have access to health care.”
Research has consistently linked being uninsured to higher mortality rates. One example in Labrador’s district: 36-year-old Idaho Falls resident Jenny Steinke, who died of an asthma attack in 2015 after being unable to treat her condition due to a lack of insurance."

 "Why would lawmakers back a bill that may strip health care from millions of the poorest citizens (many of whom are Republican voters), could make it cripplingly expensive for tens of millions more, likely leaves them vulnerable in the next election—and that ultimately could be toothless, as fellow Republicans in the Senate are already condemning it?

There is one resounding answer coming from Washington: Because president Donald Trump desperately wanted something he could call a “win.” And while it may not make sense as a political strategy, it does make sense in a context he knows well: reality TV."
--The health care vote shows Trump thinks the US presidency is just another reality television show

"Historically, being a woman in the US has basically been a pre-existing condition, considering 33% of American mothers have had a C-section, 20% of American women will experience sexual assault in their lifetimes, and 25% of women experience violent domestic abuse (compared to one in seven men)."
--Under the new Republican health care bill, being a woman is essentially a pre-existing condition

Wednesday, May 3, 2017

The Necessity of Foreign Keys

My May post @All Analytics.

"Thus, FKs are not just "a good database design habit", but "a user-oriented means" -- as Codd referred to them -- to represent information about relationships between objects of different types in relational databases. The DBMS enforces the matching via a 'referential constraint' on the relations representing the related object types. With relations in normal form and FKs, FOPL and the soundness and simplicity of relational databases are preserved."

Read it all (and please comment there, not here). 


Saturday, April 29, 2017

This Week

1. Database Truth of the Week

“… logic—is an analytical theory of the art of reasoning whose goal is to systematize and codify principles of valid reasoning. It has emerged from a study of the use of language in argument and persuasion and it is based on the identification and examination of those parts of language which are essential for these purposes. It is formal in the sense that it lacks reference to meaning. Thereby, it achieves versatility: it may be used to judge the correctness of a chain of reasoning (in particular, a “mathematical proof”) solely on the basis of the form (and not the content) of the sequence of statements, which make up the chain.” --R. R. Stoll

Monday, April 17, 2017

Don't Mix Model with Implementation

Here's what's wrong with last week's database picture, namely:
"When you design your database tables there are some important things to think of:
- Normalize to remove redundant data
- Use the smallest datatype possible
- Create as few indexes as possible, but not too few
- Avoid redundant indexes
- Every table must have clustered index
This is important in a normal database but it is even more important in SQL Azure because you have limited space for every database, your connections may be terminated due to heavy use of resources, you pay for what you use and the data that you transfer. You can use the SQL Azure management portal do design your tables or write the T-SQL statement yourself. The syntax to create a table in SQL azure is the same as in SQL server 2005/2008, but not all options are supported in SQL Azure.
CREATE TABLE [dbo].[table1]
 ([id] [int] IDENTITY(1,1) NOT NULL,
  [column1] [NVARCHAR](50) NOT NULL,
  [column2] [NVARCHAR](15) NOT NULL,
  [column3] [TINYNT] NULL,
            IGNORE_DUP_KEY = OFF,
         -- FILLFACTOR=80,
         -- ALLOW_ROW_LOCKS = ON,
         -- ALLOW_PAGE_LOCKS = ON,
--HÃ¥kan Winther, A SQL Azure tip a day – Create a table
Read it all.

Saturday, April 15, 2017

This Week

Database Truth of the Week

"... systems of operations on data are most effective when they are formalisms, in which semantic considerations are unimportant until the formalism is applied to some specific application. In this way, database processing can join the ranks of successful mathematical abstractions. Differential equations, for instance, can be applied to situations ranging from orbit calculations to the quantum mechanics of the atom. The semantics of each application is unique to that application, but the formalism of differential equations is common. The power of the formalism lies in its abstraction from issues of meaning." --H. T. Merrett, Extending the Relational Algebra to Capture Less Meaning