USER-DEFINED TYPES AND AGGREGATES and so on references it. All UDTs, by definition, support conversion to and from a string, so DTS will work with any UDT. This is safest because it guarantees that any changes to the semantics of the type and how it is represented will be propagated to the entire database. Note that it may not be possible to reimport some of the data because the new type definition may not allow it. It will, however, guarantee the integrity of the database, which is paramount in any change. In many cases, you will not be changing something as fundamental as the semantics of the type or how it is represented. In these cases, you can use the ALTER ASSEMBLY command, described in Chapter 2. The ALTER ASSEMBLY can replace an existing assembly with user-defined types in it without dropping objects such as tables and stored procedures that reference those types. ALTER ASSEMBLY is meant to be used to make bug changes or improve implementations, not semantic or operational changes. For instance, you cannot use ALTER ASSEMBLY to replace an assembly with one whose assembly name is different in anything other than the revision of the assembly. Note that the revision is the fourth of the dotted list of numbers that specifies an assembly version. In the assembly version, 4 is the revision of the assembly. It is your responsibility, however, when changing an assembly this way, to ensure that the meaning, sorting, and so on of any data persisted by user-defined types is not changed by replacing the assembly. The ALTER ASSEMBLYcan check for some of these issues, but not all. Keep this in mind when deciding between drop and re-create, and ALTER ASSEMBLY. Maintaining integrity of data should always be the most important factor when you are making this decision. Should Objects Be Represented by User-Defined Types? If the object represents a scalar and requires more than one field to be described, a user-defined type should be used to represent it; otherwise, it should not. By definition, a column in a row of a relational table holds a scalar, so it can hold any object that is a scalar. This definition is crucial to features we associate with a relational database such as the ability to have efficient declarative referential integrity via foreign keys and to order rows when they are used rather than when they are inserted. A scalar is a value that can be represented in a single dimension. A value that requires more than one dimension to be represented is not a

Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost JSP Web Hosting services

Bookmark the permalink.

Comments are closed.