Comprehensive Guide to Stored Procedures and User Defined Functions in Database Management
190 likes | 220 Vues
This guide delves into the benefits, syntax, and best practices of stored procedures, user-defined functions, transactions, and their importance in database management. Learn about the advantages, security, and efficiency gained through these techniques.
Comprehensive Guide to Stored Procedures and User Defined Functions in Database Management
E N D
Presentation Transcript
Stored Procedures & User Defined Functions MIS 424 Professor Sandvig
Today • Stored Procedures • Store SQL statements on DB • User Defined Functions (UDF) • Database • Transactions • Rollback
Stored Procedures • So far: • SQL or LINQ queries in .NET code • Pass to database • Alternative: • Stored procedures • Store SQL query on database • Call by name, pass parameters
Stored Procedures • Benefits: • Reusability • Call same SP from many projects • Hide complexity • Complex queries hidden behind simple interface • Division of duties • Programmers vs. database admin
Stored Procedures • Benefits: • Loose coupling • Create clear separation between code & data • Reduces dependencies • Changes in data source do not affect code • N-Tier Programming • Diagram (Source: Microsoft)
Benefits of Stored Procedures • Security • Set permissions on procedures • Users see only data accessible via procedure • Limit access to tables
Benefits of Stored Procedures • Efficiency • SQL compiled • Execution plan saved • Some controversy • Execute complex procedures • Triggers • Multiple SQL statements • Programming languages • Transact-SQL • .NET languages
Disadvantages • More code • Dependencies difficult to manage • Not fully supported by all databases • MySQL • Recently added • Limited • Microsoft Access • Store basic SQL statements
Creating • Visual Studio
Syntax & Example Example: • Using stored procedure • See handout
Views & Functions • Views • “Virtual” tables • No data, definition only • View defined by sql statement • May include data from several tables • Similar to stored procedure except no parameters • Benefits: • Hide table details • Set permissions
User Defined Functions • Functions (user defined functions) • Retrieve only • May use parameters • May call from SPs, other functions, SQL commands • Benefits • Reusability • Hide complexity
User Defined Functions • Creating in Visual Studio
User Defined Functions • Syntax Create FUNCTION dbo.GetProductCategories ( @ProductID int ) RETURNS TABLE AS RETURN Select c.CatLabel FROM tblCategories c, tblProductCategories p where c.CategoryID = p.CategoryID AND p.ProductID = @ProductID sql = "select * from dbo.GetProductCategories(16) order by CatLabel";
Transactions • Many transactions have dependency • Bank transfer • Remove $$ from one account • Add to another • On-line purchase • Charge credit card • Ship item • Item out-of-stock?
Transactions If one task fails: • Prior transactions are rolled back • Supported by most commercial databases • Not mySQL • Database keeps a log of transaction • Easy to use • Example: Datebase Transactions
Summary • Advanced Data Techniques • Stored Procedures • Parameters • Transactions • Goal: • Modularity • Reusability • Robust