Deleting or changing objects may affect other database objects like views or procedures that depends on them and in certain instances, can “break” the depending object. An example can be that if a View queries a table and the name of that table changes. The View will no longer function.

删除或更改对象可能会影响其他数据库对象,例如依赖于它们的视图或过程,并且在某些情况下可能会“破坏”依赖的对象。 一个示例可以是,如果View查询一个表,并且该表的名称发生更改。 视图将不再起作用。

To understand the interdependencies of our database it is very helpful to see and analyze these dependencies in a SQL Server dependency tree, and ultimately to even create a SQL dependency diagram visually displaying the hierarchical relationships

要了解我们数据库的相互依赖性,在SQL Server依赖性树中查看和分析这些依赖性非常有帮助,最终甚至可以创建可视化显示层次关系SQL依赖性图。

In SQL Server there are several ways to find object dependencies and create a SQL dependency tracker.

在SQL Server中,有几种查找对象依赖关系和创建SQL依赖关系跟踪器的方法。

  1. The sp_depends system stored procedure sp_depends系统存储过程
    • sys.dm_sql_referencing_entities sys.dm_sql_referencing_entities
    • sys.dm_sql_referenced_entities sys.dm_sql_referenced_entities
  2. The View Dependencies feature in SQL Server Management Studio (SSMS) SQL Server Management Studio(SSMS)中的“视图依赖项”功能

sp_depends (sp_depends )

sp_depends is a system stored procedure that displays information about all object types (e.g. procedures, tables, etc) that depend on the object specified in the input parameter as well as all objects that the specified object depends on.

sp_depends是一个系统存储过程,它显示有关所有对象类型(例如,过程,表等)的信息,这些对象类型取决于输入参数中指定的对象以及指定对象所依赖的所有对象。

The sp_depends procedure accepts one parameter, the name of a database object. E.g. EXECUTE sp_depends ‘ObjectName’

sp_depends过程接受一个参数,即数据库对象的名称。 例如EXECUTE sp_depends'ObjectName '

Below are examples, which will be used in this article:

下面是示例,将在本文中使用:

-- New database
CREATE DATABASE TestDB;
GOUSE TestDB
GOCREATE TABLE UserAddress (AddresID INT PRIMARY KEY IDENTITY(1, 1),FirstName VARCHAR(100),Lastname VARCHAR(150),Address VARCHAR(250))
GO-- New procedure
CREATE PROCEDURE sp_GetUserAddress
AS
BEGINSELECT FirstName,Lastname,AddressFROM UserAddress
END
GOCREATE TABLE Address (ID INT NOT NULL IDENTITY(1, 1),City VARCHAR(120),PostalCode INT,UserAddressID INT FOREIGN KEY REFERENCES UserAddress(AddresID))
GO
-- New View
CREATE VIEW v_Address
AS
SELECT ID,City,PostalCode,UserAddressID
FROM dbo.Address
GOCREATE PROCEDURE sp_GetUserCity
AS
BEGINSELECT UserAddress.FirstName,UserAddress.Lastname,Address.CityFROM UserAddressINNER JOIN Address ON UserAddress.AddresID = Address.UserAddressID
END
GO
-- New Trigger
CREATE TRIGGER trgAfterInsert ON [dbo].[UserAddress]
FOR INSERT
AS
PRINT 'Data entered successfully'
GO

Let’s run these scripts above to create the test objects then execute the following SQL.

让我们在上面运行这些脚本来创建测试对象,然后执行以下SQL。

EXECUTE sp_depends 'UserAddress'

The following result will be:

结果如下:

name type
1 dbo.sp_GetUserAddress stored procedure
2 dbo.sp_GetUserCity stored procedure
名称 类型
1个 dbo.sp_GetUserAddress 存储过程
2 dbo.sp_GetUserCity 存储过程
  • name – name of dependent object 名称 –依赖对象的名称
  • type类型 – type of dependent object (e.g. table) 依赖对象的类型(例如表)

If a stored procedure is specified as an argument value in sp_depends, then a name of the table and the column names on which the procedure depends will be shown.

如果将存储过程指定为sp_depends中的参数值则将显示该过程所依赖的表名和列名。

Let’s see how this looks with sp_GetUserAddress

让我们看一下sp_GetUserAddress的外观

EXECUTE sp_depends 'sp_GetUserAddress'

The following result will be:

结果如下:

name type updated selected column
1 dbo.UserAddress user table no yes FirstName
2 dbo.UserAddress user table no yes LastName
3 dbo.UserAddress user table no yes Addresss
名称 类型 更新 已选
1个 dbo.UserAddress 用户表 没有 名字
2 dbo.UserAddress 用户表 没有
3 dbo.UserAddress 用户表 没有 地址
  • name – name of dependent object名称 –依赖对象的名称
  • type – type of dependet object (e.g. table) 类型 –依赖对象的类型(例如表)
  • updated – whether the object is updated or not 已更新 –对象是否已更新
  • selected – object is used in the SELECT statement selected –在SELECT语句中使用对象
  • column – column on which the dependency exists column –依赖项所在的列

sp_depends does not display triggers.

sp_depends不显示触发器。

To illustrate this, execute the following code in the query window:

为了说明这一点,请在查询窗口中执行以下代码:

CREATE TRIGGER trgAfterInsert ON [dbo].[UserAddress]
FOR INSERT
AS
PRINT 'Data entered successfully'
GO

Now execute the sp_depends over the UserAddress table, the trgAfterInsert will not appear in the Results table:

现在,在UserAddress表上执行sp_dependstrgAfterInsert将不会出现在Results表中:

name type
1 dbo.sp_GetUserAddress stored procedure
2 dbo.sp_GetUserCity stored procedure
名称 类型
1个 dbo.sp_GetUserAddress 存储过程
2 dbo.sp_GetUserCity 存储过程

sp_dependes in some case does not report dependencies correctly. Let’s look at the situation when an object (e.g. UserAddress) on which another object depends (e.g. sp_GetUserAddress) is deleted and recreated. When sp_dependes is executed using EXECUTE sp_depends ‘sp_GetUserAddress’ or EXECUTE sp_depends ‘UserAddress’ the following message will appear:

在某些情况下, sp_dependes无法正确报告依赖关系。 让我们看看当一个物体(如UserAddress)另一对象取决于形势(如sp_GetUserAddress)被删除并重新创建。 当使用的sp_depends EXECUTE“sp_GetUserAddress”EXECUTE sp_depends将“UserAddress”执行sp_dependes将出现以下消息:

Sadly, sp_dependes is on the path to deprecation and will be removed from future versions of the SQL Server. But you can use sys.dm_sql_referencing_entities and sys.dm_sql_referenced_entities instead.

遗憾的是, sp_dependes即将弃用,并且将从SQL Server的未来版本中删除。 但是您可以改用sys.dm_sql_referencing_entitiessys.dm_sql_referenced_entities

sys.dm_sql_referencing_entities

sys.dm_sql_referencing_entities

This function returns all objects from the current database which depend on the object that is specified as an argument.

此函数从当前数据库返回所有对象,这些对象取决于指定为参数的对象。

SELECT referencing_schema_name,referencing_entity_name
FROM sys.dm_sql_referencing_entities('dbo.UserAddress', 'Object')

The result will be:

结果将是:

referencing_schema_name referencing_entity_name
1 dbo sp_GetUserAddress
2 dbo sp_GetUserCity
referenceencing_schema_name referenceencing_entity_name
1个 dbo sp_GetUserAddress
2 dbo sp_GetUserCity

referencing_schema_name – schema of the referencing entity

referencing_schema_name –引用实体的架构

referencing_entity_name – name of the referencing object

referencing_entity_name –引用对象的名称

More information about result sets can be found on this link.

关于结果集的更多信息可以在此链接上找到。

sys.dm_sql_referenced_entities

sys.dm_sql_referenced_entities

This system function returns all objects from the current database on which specified object depends on.

该系统函数从当前数据库返回指定对象所依赖的所有对象。

Enter the following code in the query window:

在查询窗口中输入以下代码:

SELECT referenced_entity_name,referenced_minor_name
FROM sys.dm_sql_referenced_entities('dbo.sp_GetUserAddress', 'Object')

The following result will be shown:

将显示以下结果:

referenced_entity_name referenced_minor_name
1 UserAddress NULL
2 UserAddress FirstName
3 UserAddress Lastname
4 UserAddress Address
referenced_entity_name referenced_minor_name
1个 用户地址 空值
2 用户地址 名字
3 用户地址
4 用户地址 地址

referenced_entity_name – Name of the referenced object

referenced_entity_name –引用对象的名称

referenced_minor_name – Name of the column of the referenced entity

referenced_minor_name –被引用实体的列名

For detailed information about result sets, please visit page on this link.

有关结果集的详细信息,请访问此链接上的页面。

引用与引用 (Referencing vs referenced)

The objects that are appears inside the SQL expression are called the referenced entity and the objects which contain expressions are called referencing entity:

SQL表达式内出现的对象称为引用实体,而包含表达式的对象称为引用实体:

When using these two function the schema name (e.g. dbo) must be specified as part of the object name:

使用这两个函数时,必须将模式名称(例如dbo )指定为对象名称的一部分:

SELECT referencing_schema_name,referencing_entity_name
FROM sys.dm_sql_referencing_entities('dbo.UserAddress', 'Object')

Otherwise no results will be displayed. Run the query without shema nema (dbo):

否则,将不会显示任何结果。 在不使用shema nema(dbo)的情况下运行查询:

SELECT referencing_schema_name,referencing_entity_name
FROM sys.dm_sql_referencing_entities('UserAddress', 'Object')

The result will be empty set:

结果将为空集:

referencing_schema_name referencing_entity_name
 
referenceencing_schema_name referenceencing_entity_name

An empty result set will be shown under these situations:

在以下情况下将显示空结果集:

  • ‘dbo.UserAddress’,’NN’ 'dbo.UserAddress','NN'dbo.UserAddress’,’Object’dbo.UserAddress','Object'
  • sys.all_columns) sys.all_columns
  • When the specified object does not reference any objects 当指定的对象未引用任何对象时
  • The specified object does not exist in the current database 指定的对象在当前数据库中不存在

消息2020 (The message 2020 )

Typically, the message 2020 occurs when a referencing object e.g. procedure, calls a referenced object e.g. table or a column from the table that does not exist. For example, if in the Address table change name of the column City to name Town and execute the SELECT * FROM sys.dm_sql_referenced_entities (‘[dbo].[v_Address]’,’Object’) query, the message 2020 will appear.

通常,消息2020在引用对象(例如过程)调用引用对象(例如表或表中不存在的列)时发生。 例如,如果在“ 地址”表中将“ 城市 ”列的名称更改为“ 城市”并执行SELECT * FROM sys.dm_sql_referenced_entities('[dbo]。[v_Address]','Object')查询,则会出现消息2020。

Execute the following code:

执行以下代码:

EXEC sys.sp_rename 'dbo.Address.City','Town','COLUMN'SELECT *
FROM sys.dm_sql_referenced_entities('dbo.v_Address', 'OBJECT')

The following message will appear:

将显示以下消息:


Msg 207, Level 16, State 1, Procedure v_Address, Line 6
Invalid column name ‘City’.
Msg 2020, Level 16, State 1, Line 3 The dependencies reported for entity “dbo.v_Address” might not include references to all columns. This is either because the entity references an object that does not exist or because of an error in one or more statements in the entity. Before rerunning the query, ensure that there are no errors in the entity and that all objects referenced by the entity exist.


消息207,级别16,状态1,过程v_Address,第6行
无效的列名“城市”。
消息2020,级别16,状态1,第3行实体“ dbo.v_Address”报告的依赖项可能未包括对所有列的引用。 这是因为该实体引用了一个不存在的对象,或者是由于该实体中的一个或多个语句中的错误。 重新运行查询之前,请确保该实体中没有错误,并且该实体引用的所有对象都存在。

故障排除 (Troubleshooting )

In order to prevent dropping or modifying objects, which depends on another object, the v_Address view should be altered and added the WITH SCHEMABINDING option:

为了防止丢弃或修改依赖于另一个对象的对象,应更改v_Address视图并添加WITH SCHEMABINDING选项:

ALTER VIEW v_AddressWITH SCHEMABINDING
AS
SELECT ID,City,PostalCode,UserAddressID
FROM dbo.Address

Now, when changing the name of the column in the Address table, the following message will appear, which proactively provides information that the object, the table “City” in this example, is a part of another object.

现在,当更改“ 地址”表中的列名称时,将出现以下消息,该消息主动提供信息,即对象(在此示例中为“城市”)是另一个对象的一部分。

Code:

码:

EXEC sys.sp_rename 'dbo.Address.City','Town','COLUMN'

Message:

信息:

Msg 15336, Level 16, State 1, Procedure sp_rename, Line 501
Object ‘dbo.Address.City’ cannot be renamed because the object participates in enforced dependencies.

消息15336,级别16,状态1,过程sp_rename,第501行
无法重命名对象“ dbo.Address.City”,因为该对象参与了强制性依赖关系。

架构绑定与非架构绑定 (Schema-bound vs Non-schema-bound)

There are two types of dependencies: Schema-bound and Non-schema-bound dependencies.

有两种类型的依赖关系:架构绑定的和非架构绑定的依赖。

A Schema-bound dependency (SCHEMABINDING) prevents referenced objects from being altered or dropped as long as the referencing object exists

绑定模式的依赖关系(SCHEMABINDING)防止只要存在引用对象,就可以更改或删除引用的对象

A Non-schema-bound dependency: does not prevent the referenced object from being altered or dropped.

非模式绑定的依赖项 :不会阻止所引用的对象被更改或删除。

For sys.dm_sql_referenced_entities and sys.dm_sql_referencing_entities dependency information will not be displayed for temporary tables, temporary stored procedures or system objects.

对于sys.dm_sql_referenced_entitiessys.dm_sql_referencing_entities,将不会显示临时表,临时存储过程或系统对象的依赖项信息。

Below is an example of a temporary procedure:

下面是一个临时过程的示例:

CREATE PROCEDURE #sp_tempData
AS
BEGINSELECT AddresID,FirstName,Lastname,AddressFROM UserAddress
END

Now, when executing sys.dm_sql_referencing_entities for the table UserAddress the information about the #sp_tempData procedure that depends on the UserAddress will not be shown in the list.

现在,当执行sys.dm_sql_referencing_entities时 为表UserAddress有关依赖于UserAddress#sp_tempData过程中的信息将不会在列表中显示。

Code:

码:

SELECT referencing_schema_name,referencing_entity_name
FROM sys.dm_sql_referencing_entities('dbo.UserAddress', 'Object')

Result:

结果:

referencing_schema_name referencing_entity_name
1 dbo sp_GetUserAddress
2 dbo sp_GetUserCity
referenceencing_schema_name referenceencing_entity_name
1个 dbo sp_GetUserAddress
2 dbo sp_GetUserCity

查看依赖关系 (Viewing Dependencies)

Another way to view dependencies between objects, but to create a visual SQL dependency tracker, is by using the View Dependencies option from SSMS. From the Object Explorer pane, right click on the object and from the context menu, select the View Dependencies option:

查看对象之间的依赖关系但创建可视SQL依赖关系跟踪器的另一种方法是使用SSMS中的“ 查看依赖关系”选项。 在“ 对象资源管理器”窗格中,右键单击对象,然后从上下文菜单中选择“ 视图依赖项”选项:

This will open the Object Dependencies window. By default, the Object that depend on radio button is selected. This radio button will list in the Dependencies section all objects that depends on the selected object (e.g. Address):

这将打开“ 对象依赖关系”窗口。 默认情况下, 依赖单选按钮的对象处于选中状态。 此单选按钮将在Dependencies部分中列出所有依赖于所选对象的对象(例如Address ):

If selected the Object on which radio button, will display in the Dependencies section all objects on which selected object (e.g. Address) depends:

如果选中了对象所在的单选按钮,将在“ 依赖关系”部分中显示所选对象(例如Address )所依赖的所有对象:

The Selected object section consists of three fields:

选定对象部分包括三个字段:

  • Name – name of the selected object from the 名称 -从Dependencies list 相关性列表中选择的对象的名称
  • Type – type of the selected object (e.g.table) 类型 –所选对象的类型(例如)
  • Dependency type – dependency between two objects (Schema-bound, Non-schema-bound). 依赖关系类型 –两个对象之间的依赖关系(架构绑定,非架构绑定)。

Under the Type field the Unresolved Entity type for the object can be appear. This happens when the objects refer to an object that don’t exist in the database. This is equivalent to the Msg 2020 message that appears when using sys.dm_sql_referencing_entities or sys.dm_sql_referenced_entities functions:

在“ 类型”字段下,可以显示对象的“ 未解析实体”类型。 当对象引用数据库中不存在的对象时,就会发生这种情况。 这等效于使用sys.dm_sql_referencing_entitiessys.dm_sql_referenced_entities函数时出现的Msg 2020消息:

This SQL dependency tracker is kind of a poor man’s SQL dependency diagram, in that it doesn’t show cross relationships or offer many value added features, but it will give you a quick preview of the dependences in the hierarchy that contains a particular object

该SQL依赖关系跟踪器有点像穷人SQL依赖关系图,因为它不显示交叉关系或提供许多增值功能,但是它将为您提供包含特定对象的层次结构中的依赖关系的快速预览。

备择方案 (Alternatives)

ApexSQL Analyze is a 3rd party tool that can analyzes graphical SQL Server database object dependencies and the impact of potential deletions on your SQL database and create a SQL dependency diagram. It determines object interrelationships within the database, and allows customization of the resulting SQL dependency diagram appearance.

ApexSQL分析是一个第三方的工具,可以分析图形SQL Server数据库对象依赖性和潜在的缺失你SQL数据库的影响,并创建一个SQL依赖关系图。 它确定数据库内的对象相互关系,并允许自定义结果SQL依赖图外观。

The tool can be downloaded from SQL tools downloads.

该工具可以从SQL工具下载中下载 。

To see object dependencies, on the Home tab, click the New button, under the Connection to SQL Server window, choose the SQL Server instance, pick the type of authentication, and after selecting a desired database in the Database drop-down box, click the Connect button:

若要查看对象依赖性,请在“ 主页”选项卡上,单击“ 新建”按钮,在“ 连接到SQL Server”窗口下,选择SQL Server实例,选择身份验证的类型,然后在“ 数据库”下拉框中选择所需的数据库后,单击“确定”。 连接按钮:

The Dependency viewer window will appear:

将显示“ 依赖关系查看器”窗口:

with the Dependencies pane, which shows all objects that depends on the selected object (e.g. UserAddress), by default this pane appears on the right side of the Dependency viewer window:

使用“ 依赖关系”窗格该窗格显示了依赖于所选对象的所有对象(例如UserAddress ),默认情况下,此窗格显示在“ 依赖关系查看器”窗口的右侧:

Dependency viewer provides graphical view of all dependencies between objects in the middle of the Dependency viewer window:

依赖关系查看器在“ 依赖关系查看器”窗口的中间提供了对象之间所有依赖关系的图形视图:

视觉依赖 (Visual dependencies)

The Dependency viewer offers various options for filtering, appearance and manipulating objects.

依赖关系查看器提供了用于过滤,显示和操纵对象的各种选项。

In the Object browser pane, the object types (e.g. view) that will be displayed in the dependency graph can be specified:

在“ 对象浏览器”窗格中,可以指定将在依赖关系图中显示的对象类型(例如视图):

Also, in the Object browser pane, specific objects can be selected that will be shown or omitted from the dependency graph:

另外,在“ 对象浏览器”窗格中,可以选择特定对象,这些对象将在依赖关系图中显示或省略:

The Dependencies pane, the complete dependency chain for the selected object in the dependency graph (e.g. Address) can be shown. Referencing indicate the object that depend on the selected object (aka referencing) and Referenced by shows the objects from which selected object depends on (aka referenced):

依赖关系”窗格中,可以显示依赖关系图中所选对象的完整依赖链(例如Address )。 引用表示依赖于所选对象的对象(又称为引用),“ 引用者”显示所选对象所依赖的对象(又称为引用):

Also, the dependency chain can be reviewed by selecting an object in the dependency graph (e.g. Address), right click and from the context menu under the Select sub-menu, choose Referencing objects or Referenced objects command:

同样,可以通过在依赖关系图中选择一个对象(例如Address ),单击鼠标右键,然后从“ 选择”子菜单下的上下文菜单中,选择“ 引用对象”或“ 引用的对象”命令来查看依赖关系链:

The Layout option under the Display ribbon offers different options for visual organization and display:

显示”功能区下的“ 布局”选项为视觉组织和显示提供了不同的选项:

For example, the Orthogonal option attempts to organize objects in the diagrams so that they are at right angles to each other. It is useful for quick identification of all objects related to a given object (i.e. both those that depend on it and those it depends on):

例如,“ 正交”选项尝试组织图中的对象,以使它们彼此成直角。 对于快速识别与给定对象相关的所有对象(即,依赖于该对象的对象以及该对象所依赖的对象),这很有用:

Using this option, it can easily be determined how many objects depend on a specific object and a determination can be made as to whether it is safe to delete it without breaking relationships

使用此选项,可以轻松确定有多少对象依赖于特定对象,并且可以确定在不破坏关系的情况下删除该对象是否安全

The Show columns option shows columns with datatypes of the tables and views objects:

显示列选项显示具有表和视图对象的数据类型的列:

Additionally, the definition of an object can be easily reviewed by selecting the desired object (e.g. Address table), right click and from the context menu, select the Show script command:

此外,通过选择所需的对象(例如地址表),单击鼠标右键,然后从上下文菜单中选择“ 显示脚本”命令,可以轻松查看对象的定义:

The script window will appear with definition of the selected object:

将显示脚本窗口,其中包含所选对象的定义:

In this article we discussed SQL Server object interdependencies, how to find them using SQL, SSMS and a 3rd party solution, and finally how to create a SQL dependency diagram from the results. Happy diagramming!

在这篇文章中,我们讨论了SQL Server对象的相互依存关系,如何使用SQL,SSMS和第三方解决方案,最后如何创建一个找他们SQL依赖关系图从结果。 图解愉快!

翻译自: https://www.sqlshack.com/how-to-create-a-sql-dependency-diagram-in-sql-server/

如何在SQL Server中创建SQL依赖关系图相关推荐

  1. sql server中创建链接服务器图解教程

    转自sql server中创建链接服务器图解教程 1.展开服务器对象-->链接服务器-->右击"新建链接服务器" 注意:必须以数据库管理员身份登录(通常也就是sa帐号) ...

  2. sql server中创建数据库和表的语法

    下面是sql server中创建数据库,创建数据表以及添加约束的sql语句: use master --创建数据库 if exists (select * from sysdatabases wher ...

  3. 创建视图SQL:在SQL Server中创建视图

    介绍 (Introduction) In this article, we are going to see how to use the CREATE VIEW SQL statement to c ...

  4. 在SQL Server中使用SQL Coalesce函数

    This article explores the string manipulation using SQL Coalesce function in SQL Server. 本文探讨了在SQL S ...

  5. 【转】在SQL Server中通过SQL语句实现分页查询

    在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...

  6. 如何在SQL Server中创建视图

    In this article, we will learn the basics of the view concept in SQL Server and then explore methods ...

  7. 详解SQL Server中创建数据仓库已分区表

    在本练习中,您将创建一个分区数据仓库事实数据表.非常大的表经常需要跨几个磁盘卷存储数据.ServerSecurity/Database/'>SQL Server 表无法放置在特定文件中.但是,文 ...

  8. 转储sql文件_在Linux上SQL Server中更改SQL转储文件位置

    转储sql文件 In this article, we will talk about SQL Dump files and the process to change the dump direct ...

  9. SQL Server中的SQL语句优化与效率问题

    很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhan ...

最新文章

  1. 编译后的boost库命名方式
  2. 深入Android 【一】 —— 序及开篇
  3. php 蓝奏网盘上传文件,蓝奏云_文件上传_API
  4. linux通过yum安装vim,linux/centos系统如何使用yum安装vi/vim?
  5. Oracle中表pagesize,Oracle 解决显示凌乱串行问题时column、pagesize、linesize的设定
  6. Tomcat 服务器状态监控显示PS Survivor Space 99%
  7. Mail: JMail, System.Net.Mail, System.Web.Mail
  8. Qt配置OpenCV教程,亲测已试过(详细版)
  9. Python批量下载抖音大V主页视频
  10. vnc远程连接,5步实现vnc远程连接
  11. 钛资本研究院:保险科技行业现状及趋势分析
  12. try的动词用法_try的用法
  13. SWUST OJ(954)
  14. 浏览器野史 UserAgent 列传(上)
  15. 无序列表将点替换成图片
  16. resetFields方法重置表单
  17. POI问题总结,关于数字级联及多级级联(三级以上)
  18. PRML 学习: (1) Polynomial Curve Fitting
  19. 百度启动干部轮岗 涉及三位副总裁
  20. DEBUG:plt保存失败

热门文章

  1. java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...
  2. java消息推送怎么实现_PHP实现的消息实时推送功能
  3. CentOS环境设置Hbase自启动
  4. 设计模式之 --- 工厂模式(下)
  5. CheckBox的Attributes
  6. C#-求int数组中连续偶数列的个数
  7. 免费的HTML5版uploadify
  8. Eclipse:An internal error occurred during: Building workspace. GC overhead limit exceeded
  9. 自然语言3——官网介绍
  10. 判断ImageView背景图片是否与Drawable中的某个图片一样的两个方法